Gitbox is a simple yet powerful Git repository manager.
Important: to make FileMerge work with the latest Xcode, read the instruction: http://gitboxapp.com/
• Full text search in commit metadata, file paths and diffs.
• Full support for pull, fetch, push, stash, rebase, branch reset, tagging and checkout.
• Automatic fetch from remote servers.
• Visual diff between branches.
• Integration with popular diff tools (Kaleidoscope, Changes etc.)
• Submodule support and automatic submodule updates.
• Color tagging for commits (better than "git bisect").
• Drag and drop file from history.
• Quick Look for files in history.
• Instant sync with the file system, smooth integration with Terminal.
You can clone, push and pull using usual protocols supported by Git (including HTTP). Repositories and clones on the local and networking filesystems are also supported.
Gitbox is powered by the standard build of Git 1.7 which is protected by GNU General Public License Version 2. Gitbox neither links (statically or dynamically) with Git nor uses specific APIs to work with Git. You can obtain Git source code at the following address: http://git-scm.com/ According the GPLv2 section 3.b, if you want a copy of source code for the bundled Git, I can provide it on a physical media for the cost of production and distribution. See Legal Info in the app for details.
• Improved performance of updates of git state (stage, branches, commits and submodules).
• Fixed bug when cloning from a URL with spaces.
• Fixed several error messages.
• Fixed bug with submodule paths containing spaces.
• Fixed commit cherry-picking and merging from the search mode.
• Fixed bug with launching FileMerge after installing Xcode 4.3 and removing /Developer folder.
• Prevented window activation when minimized and repository optimization kicks in.
• Fixed window activation when clicked through after closing FileMerge window.
• Improved error messages for merge failure.
New in version 1.6:
• Zero-configuration submodules: one-click download and reset.
• Submodules are intelligently reset when pulling, switching branches or checking out commits in the parent repository.
• Editable repository names (Gitbox keeps an alias without changing the actual folder name.)
• Automatic repository optimization in background.
• Tags are sorted in natural order and with respect to version numbers.
• When a file is added to ignore list, it is also untracked (git rm --cached).
• Warning is displayed when trying to make a commit when no branch is selected.
• Single Preferences window with Git configuration, ignored files, "Clone from Github" checkbox etc.
• Fixed bugs and crashes in authentication session.
• Fixed performance bug with frequent stage updates (high CPU consumption).
• Fixed bugs with preserving stage selection and scroll offset when stage is reloaded.
• Fixed bug with text fields in repository settings (value was not stored immediately)
• Fixed a bug with trimming whitespace from .gitignore
• Fixed link highlighting: now all kinds of schemas are recognized including rdar:// (Lion-only).
• Fixed several text labels and error messages.
• Fixed an annoying bug in search field (when space is entered, all text was selected)
• Fixed bug with presenting files containing ":" and other URL-unfriendly characters.
• Fixed bug with staging file names beginning with dash ("-")
• Fixed bug with multi-line commit messages. Messages are recorded as-is. Prewrapped messages are intelligently unwrapped when displayed.
• Fixed bug with ignoring a file when .gitignore does not exist (file was not added to .gitignore).
• Fixed bug with title duplication in the branch menus.
• Fixed merge --no-ff option. Gitbox shows no-ff merge commits and respects “mergeoptions” in .git/config.
• Fixed sidebar alignment bug.
• Fixed sidebar spinner color and animation.
Ratings and Reviews
Excellent But Limited
An excellent application that hides the complexity of git if all you want to do is maintain 1 or 2 branches and track history. Submodule handling is great and stays out of your way. The integrated search across commits works well for finding based on anything (file, author, commit test).
The application breaks down when dealing with larger branching models or handling merges. Unlike other tools (SourceTree or Tower) there is no way of launching your mergetool on conflicts or even really viewing conflicts. This forces youd own the command line. Also, while the push/pull/merge UI concept is interesting, it makes it difficult to visual inspect the relationship between a set of branches. It also seems to unnecessarily set tracking branches. The right hand panel is also somewhat limiting. Elipsises happen from the right making it virtually useless for dealing with deep source hierarchies and there is no way of viewing just the actual diff text inline without launching the diff tool.
In summary, if you want something simple for handling 1 or 2 branches this is the way to go. If not, look at other options.
I'd love to rate it 4.5 stars. It's not a 4, but I feel it's not quite worth a 5. As an intermediate-level command-line git user of several years, it's very easy to use. There are a few things I'd like to see here and there. This is just so much more convenient than the command line. It does all the little checks you'd have to do manually, like notifying you when the local repo needs to push or pull upstream. It subtly nags you about files you forgot to check in, or temp files you've left around so it sort of forces me to be a little cleaner in my use of git which is a good thing. I also love how quickly it notices when I've done git operations on the command line, or in another app like Coda 2 or TextMate. That's how things should work.
Where I'd like to deduct the half star is some further interaction with the rest of the system. I'd like to see a bit more configurability to let me edit a file directly, rather than just show diffs or in Finder.
I would not hesitate to recommend this to any Mac user who uses git.
A great supplement to your git command-line skills
I rated this five stars based on how I use it: as a supplement to the command line.
If you are looking for a do-it-all git program that possibly saves you from understanding what you are doing, this program is probably not it.
If you are able to do git work on the command line but would like a to supplement some tasks with a GUI, this app is great.
I use it for watching my staging area and for committing. The GUI makes it easy to see what’s staged and what isn’t, and more importantly, lets me launch FileDiff on each file with a double-click so that before I commit I can give each file that last once-over to be sure I haven’t left in any stray debug calls or TODO comments. I can easily run backwards in history and do the same for previous commits, and I find it just faster and smoother for this sort of thing than the command line or viewing on GitHub.
It can do much more than this, and I sometimes use those other features, but the main reason I value and recommend Gitbox is that it’s such a great tool for reviewing staged or committed changes.
In comparison with the open-source GitX I prefer Gitbox for the tasks I mentioned above. It’s straightforward, lightweight, stays out of my way, and doesn’t go into weird resource-consumption spasms like GitX sometimes does. I tend to reserve GitX for those times when I really need its branch-visualization capabilities, which Gitbox does not match.
With Family Sharing set up, up to six family members can use this app.