Start Interactive Rebase:
mug rebase -i <branch>Navigation:
- j: Move down
- k: Move up
- Page Down: Scroll down
- Page Up: Scroll up
Actions:
- p: pick - Use commit
- s: squash - Merge with previous
- r: reword - Edit commit message
- d: drop - Discard commit
- e: edit - Pause for amending
Execute:
- Enter: Apply selected actions
- Esc: Cancel rebase
- q: Quit
View Conflicts:
mug statusEdit Files:
- Locate conflict markers
- Remove
<<<<<<,======,>>>>>> - Keep desired changes
Mark Resolved:
mug add <file>Complete Merge:
mug commit -m "Merge message"Create Stash:
mug stash -m "Description"List Stashes:
mug stash-listApply Stash:
mug stash-popList Branches:
mug branchesCreate Branch:
mug branch <name>Delete Branch:
mug branch -d <name>Switch Branch:
mug checkout <name>Show Status:
mug statusDisplays:
- Current branch
- Staged files
- Modified files
- Untracked files
- Merge conflicts
Show History:
mug logCompact View:
mug log --onelineShow Specific Commit:
mug show <commit>Keyboard Navigation:
- Arrow keys for movement
- Page up/down for scrolling
- Home/End for first/last
Color Output:
- Green: Added files
- Red: Deleted files
- Yellow: Modified files
- White: Untracked files
Context Information:
- Branch name
- Commit hash
- Author and timestamp
- Commit message
Conflict Markers:
<<<<<<< HEAD
Your changes
=======
Their changes
>>>>>>> branch-name
Resolution:
- Open file in editor
- Choose which version to keep
- Remove conflict markers
- Save file
mug add <file>mug commit
Edit Commit Message:
mug rebase -i HEAD~1
# Select 'r' for rewordSquash Commits:
mug rebase -i HEAD~3
# Change 'pick' to 's' for commits to squashDrop Commits:
mug rebase -i HEAD~5
# Change 'pick' to 'd' for commits to dropReorder Commits:
mug rebase -i HEAD~5
# Move lines in the editorShow Detailed Log:
mug logShow Oneline Log:
mug log --onelineShow Recent Commits:
mug log --oneline -n 10Show Branch Commits Only:
mug log main..HEADClear Error Messages:
- File not found
- Invalid branch
- Merge conflicts
- Permission denied
Error Recovery:
- Suggested commands
- Helpful hints
- Recovery options
Commit Display:
commit abc1234567890
Author: Name <email@example.com>
Date: 2024-01-15 14:30:45
Commit message goes here
Status Display:
On branch: main
Staged: 3 files
Modified: 2 files
Untracked: 1 file
Terminal Compatibility:
- 256 color support
- UTF-8 output
- Window resizing support
- Terminal size detection
Performance:
- Fast rendering
- No flickering
- Efficient updates
- Smooth scrolling
Accessibility:
- Clear text labels
- Logical navigation
- Keyboard-only operation
- Terminal-friendly
Use Rebase for Clean History:
mug rebase -i mainSquash Before Merging:
mug rebase -i main
# Mark commits to squashCheck Status Before Commit:
mug statusUse Oneline for Quick View:
mug log --onelineMouse Support:
- Not currently supported
- Keyboard navigation only
Copy/Paste:
- Terminal-dependent
- Use standard copy/paste
Large Commits:
- Display may be slow
- Pagination recommended
Mouse Support:
- Click to select
- Drag to navigate
- Context menus
Diff Highlighting:
- Syntax highlighting
- Line-by-line diffs
- Word diffs
Branch Visualization:
- ASCII graph
- DAG display
- Merge tree
Search:
- Find commits
- Filter by author
- Search message