By Oleg Andreev
Open the Mac App Store to buy and download apps.
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.
What's New in Version 1.6.3
• 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.
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.
Perfect for this non-techie
My git needs are pretty simple. I create git repositories for each project I work on, save versions as I go, use Dropbox to sync my various computers, and sometimes have to climb back into a previously saved version of something to rescue some data or compare some files. I don't use collaboration tools and I don't do anything with branches. For these simple needs, Gitbox is perfect. I'm not a command line junkie, and I never could make sense of git on the command line. I've tried various GUI apps to help me use git, and Gitbox has been hands-down the most intuitive and simplest to use. Yay, I don't have to stop being productive while I sink into a git learning curve. I can just use Gitbox and move on. Drag a folder onto the Gitbox window and it gets converted into a git repo. Stage all files (it's a one-click process in Gitbox, just right-click on the list of files and choose Stage All). Press the Commit button and there you go. I couldn't be happier with it.