.ritignore
Specify files and directories that Rit should ignore.
Synopsis
Create a .ritignore file in your repository root to tell Rit which files to ignore when staging, checking status, or showing diffs.
Description
The .ritignore file uses pattern matching similar to .gitignore. Files and directories matching patterns in .ritignore will be:
- Excluded from
rit add - Hidden from
rit status(untracked files) - Excluded from
rit diff
Pattern Format
Basic Patterns
*.log- Ignore all files ending with.logtarget/- Ignore thetargetdirectorytemp.txt- Ignore a specific file*.tmp- Ignore all.tmpfiles
Wildcards
*- Matches any sequence of characters (except/)?- Matches a single character**- Matches zero or more directories (planned)
Directory Patterns
dir/- Matches only directories nameddirdir/*- Matches all files indirdirectory
Negation
!important.log- Un-ignore a file (even if it matches an earlier pattern)
Patterns are processed in order, so later patterns can override earlier ones.
Examples
Rust Project
# Compiled files
target/
*.o
*.so
*.dylib
# Cargo
Cargo.lock
# IDE
.idea/
.vscode/
*.swp
# But keep important files
!Cargo.lock
Node.js Project
node_modules/
*.log
npm-debug.log*
.DS_Store
.env
dist/
build/
Python Project
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
venv/
env/
.venv
Pattern Rules
- Empty lines and comments - Lines starting with
#are ignored - Order matters - Patterns are processed top to bottom
- Negation - Patterns starting with
!un-ignore matching files - Directory matching - Patterns ending with
/only match directories - Anchored patterns - Patterns not starting with
*are anchored to the start
How It Works
When Rit processes files:
- Reads
.ritignorefrom the repository root - Parses patterns line by line
- Checks each file/directory against all patterns
- If a pattern matches and is not negated, the file is ignored
Integration
The .ritignore file is automatically used by:
rit add- Ignores matching files when stagingrit status- Hides ignored files from untracked files listrit diff- Excludes ignored files from diff output
Always Ignored
The following are always ignored, regardless of .ritignore:
.rit/directory (repository metadata).ritignorefile itself