Skip to content
This repository

Fork of Pieter's nice git GUI for OS X. Includes branch/tag sidebar and various fixes. Current development focus is on removing legacy git command line usage in favour of libgit2 and objective-git.

This branch is 0 commits ahead and 0 commits behind master

Merge pull request #281 from codiophile/master

Added "/usr/bin/git" to the searchLocations.
latest commit 2e23f77d3e
Rowan James authored
Octocat-spinner-32 Classes Merge pull request #281 from codiophile/master March 04, 2014
Octocat-spinner-32 Documentation Add release notes for 0.7.1 September 18, 2009
Octocat-spinner-32 English.lproj Update all XIBs to target OS X 10.7 deployment August 19, 2013
Octocat-spinner-32 GitX.xcodeproj Merge remote-tracking branch 'refs/remotes/tiennou/header-cleanup' March 04, 2014
Octocat-spinner-32 MGScopeBar @ a2cf27d Update to upstream MGScopeBar August 06, 2013
Octocat-spinner-32 Resources Fix up some branch icons November 22, 2013
Octocat-spinner-32 Site Recompress image resources - mostly website and documentation assets January 22, 2013
Octocat-spinner-32 Sparkle @ 9da5105 Patch Sparkle for OS X 10.9 and Xcode 5 November 03, 2013
Octocat-spinner-32 SyntaxHighlighter @ e2e5017 Update to upstream SyntaxHighlighter June 07, 2013
Octocat-spinner-32 SyntaxHighlighter-missing Save the files that are missing from the SyntaxHighlighter repo upstream June 27, 2013
Octocat-spinner-32 html Match ref style in commit details to the history view December 11, 2013
Octocat-spinner-32 objective-git @ 569c622 Update to upstream objective-git January 11, 2014
Octocat-spinner-32 updates Add find changes to the change log. December 17, 2013
Octocat-spinner-32 .gitattributes Add objective c diff header September 17, 2008
Octocat-spinner-32 .gitignore Ignore some python intermediates January 12, 2014
Octocat-spinner-32 .gitmodules Patch Sparkle for OS X 10.9 and Xcode 5 November 03, 2013
Octocat-spinner-32 COPYING Add a README and license file June 21, 2008
Octocat-spinner-32 Common.xcconfig Simplify Xcode's build settings on project and target level by using … March 26, 2010
Octocat-spinner-32 Debug.xcconfig Move some settings from Install.xcconfig that are intended for Releas… March 26, 2010
Octocat-spinner-32 GitX.entitlements Update to upstream Sparkle November 07, 2012
Octocat-spinner-32 GitX.h Generated header. March 02, 2014
Octocat-spinner-32 GitX.sdef Add SyntaxHighlighter as a submodule December 27, 2011
Octocat-spinner-32 GitX_Prefix.pch Rename the DEPRECATED macro to GITX_DEPRECATED, and wrap it in a #define March 02, 2014
Octocat-spinner-32 Install.xcconfig Install gitx (the CLI) via Install.sh. March 26, 2010
Octocat-spinner-32 README.markdown rowanj/gitx#267: Added the missing `bootstrap` step, and dependencies… November 22, 2013
Octocat-spinner-32 Release.xcconfig Switch DEBUG_INFORMATION_FORMAT from DWARF with dSYM to DWARF in Rele… March 26, 2010
Octocat-spinner-32 actions.pxm Pixel align hires icons and buttons June 20, 2013
Octocat-spinner-32 build.py Fix new build script January 12, 2014
Octocat-spinner-32 package.py Unify build scripts January 11, 2014
Octocat-spinner-32 sign.py Fix new build script January 12, 2014
README.markdown

What is GitX?

GitX is a graphical client for the git version control system, written specifically for OS X Lion (10.7) and higher.

There last build compatible with OS X Snow Leopard (10.6) is 0.14.81, from February 4th 2013.

This means that it has a native interface and tries to integrate with the operating system as good as possible. Examples of this are drag and drop support and QuickLook support.

What is GitX-dev?

This fork (variant) of GitX focuses on programmer-oriented features for those working with the latest tools for developing software for current Apple platforms. As such, it only supports 64-bit Intel macs, and currently deploying versions of OS X and Xcode.

Drawing several important early improvements from mainline "official" GitX from GitX (L) and others, we are prioritizing moving away from deprecated or unreliable technologies like a dependency on command-line git usage to drive GitX features; and staying up-to-date with Apple and third-party frameworks and libraries that are used.

Getting GitX-dev

Download the latest binary

Latest GitX-dev Package

Download the latest .DMG

GitX-dev uses the Sparkle framework for in-app updates; so once you have version 0.11 (December 2011) or later, you can check for or update to new builds from the GitX menu at any time, or opt-in for automatic updates.

Archived binaries

Old binary archives are available on the GitHub project downloads page.

Features

The project is well underway, and based on the solid foundations of GitX and GitX (L), used day-to-day by our developers. We consider GitX-dev to be close to feature-complete, with very few workflows dependant on manual command-line git usage.

  • History browsing of your repository
  • See a nicely formatted diff of any revision
  • Search based on author or revision subject
  • Look at the complete tree of any revision
    • Preview any file in the tree in a text view or with QuickLook
    • Drag and drop files out of the tree view to copy them to your system
  • Support for all parameters git rev-list has
  • Good performance on large (200+ MB) repositories

Development

Developing for GitX-dev has a few requirements above and beyond those for mainline GitX.

Most third-party code is referenced with Git submodules, so read up on those if you're not familiar.

  • Very recent Xcode install, 4.5 release strongly recommended.
  • Most development is done on OS X Lion, Snow Leopard may or may not work
  • Homebrew and xctool for running Objective-Git’s bootstrap script
  • CMake with a working command-line compiling environment for building libgit2
  • node.js for building SyntaxHighlighter (not necessary unless you're updating SyntaxHighlighter itself)

To get GitX-dev to compile locally you need to:

  1. Clone the repository locally: git clone https://github.com/rowanj/gitx.git
  2. After cloning it cd gitx and then recursively initialize all submodules: git submodule update --init --recursive
  3. Then prepare objective-git by running its bootstrap script: cd objective-git && ./script/bootstrap
  4. Then compile objective-git cd objective-git && ./script/update_libgit2

After that you should be able to open the Xcode project and build successfully.

License

GitX is licensed under the GPL version 2. For more information, see the attached COPYING file.

Usage

GitX itself is fairly simple. Most of its power is in the 'gitx' binary, which you should install through the menu. the 'gitx' binary supports most of git rev-list's arguments. For example, you can run gitx --all to display all branches in the repository, or gitx -- Documentation to only show commits relating to the 'Documentation' subdirectory. With gitx -Shaha, gitx will only show commits that contain the word 'haha'. Similarly, with gitx v0.2.1.., you will get a list of all commits since version 0.2.1.

Helping out

Any help on GitX is welcome. GitX is programmed in Objective-C, but even if you are not a programmer you can do useful things. A short selection:

Something went wrong with that request. Please try again.