Repository navigation
Troubleshooting Git
Problems with git itself, and how to fix them: git not found, hooks that fail, signing in to a server, and the errors git reports. Nibtree runs your own git for every change, so most fixes are the same as in the Terminal. Problems with the app are on Troubleshooting.
Nibtree runs your own git for every change. It looks in /opt/homebrew/bin, /usr/local/bin and /usr/bin, then in your PATH. If git is missing, you may still see your changes, but committing, pushing and similar fail with a note such as Commit failed and "Could not start git" followed by the command.
Install git, for example with xcode-select --install (Apple's command line tools) or brew install git, then try again.
PATH is the list of folders where programs are looked up. Apps started from the Dock get a very short PATH, so tools like node, npx or husky used by hooks go missing. Nibtree asks your login shell for the real PATH the first time it runs git. A login shell is your shell started the way it is when you log in, reading your profile files.
A login shell does not read ~/.zshrc. If you add tools to your PATH only there (common with nvm), move those lines to ~/.zprofile, then quit and reopen Nibtree. On Windows, Nibtree uses the PATH Windows gives it; after installing a tool, quit and reopen Nibtree.
Nibtree never shows a password prompt, because it cannot answer one. You may see git messages like "terminal prompts disabled" or "could not read Username". Set up sign-in so it works without typing:
-
HTTPS: use a credential helper, for example
git config --global credential.helper osxkeychain, then push once in the Terminal so the keychain stores your token. For GitHub,gh auth loginfrom the GitHub CLI sets this up for you. -
SSH: add your key to the agent and keychain, for example
ssh-add --apple-use-keychain ~/.ssh/id_ed25519. - On Windows, Git for Windows comes with Git Credential Manager: push once in a terminal and sign in when it asks, and it remembers you.
Test in the Terminal with git fetch. If it works there without asking anything, it works in Nibtree too.
Signed commits have the same catch: a GPG passphrase needs a graphical prompt such as pinentry-mac.
When git refuses something, its own message is shown. A few common ones:
- Checkout refuses because your changes would be overwritten: commit or stash them first.
- Push rejected because the server has newer commits: pull first. After a rebase or amend, use Git > Force Push..., or tick Force push (--force-with-lease) in Git > Push.... See Remotes.
- "Cannot push a detached HEAD": create a branch first.
-
"This repository has no remote to push to": add one in Git > Manage Remotes..., or with
git remote add origin <url>. - "No local changes to stash": there is nothing to put aside. If you only have new files, tick Include untracked files.
"Commit is not in the loaded history" means the Log could not find that commit in the history it shows. Turn on All branches in the Log toolbar and try again. See History and Log.
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode