- gitkraken (closed-source, USD60/yr) seems to be the sleekest and hippest, and runs everywhere. It also has the least horribly broken visualisation. It uses gigantic amounts of RAM.
- Sourcetree (closed source, free) is an adequate client on Windows and OSX, although Also uses gigantic amounts of RAM, and is just generally slooow. However, it also support mercurial, which is nice
- git-cola is open-source, in python. Haven’t used.
- giggle (open-source, Linux/GTK only) seems to be purely a repository viewer, but that’s actually done really badly generally, so is not completely useless.
- sparkleshare is designed for file syncing for designers, not versioning code for coders, but is also effectively a neat git GUI, with attention from designers.
git fetch remote branch git subtree add --prefix=subdir remote branch --squash
git fetch remote branch git subtree pull --prefix=subdir remote branch --squash git subtree push --prefix=subdir remote branch --squash
git checkout my_branch -- my_file/
In brief, this will purge a lot of stuff from a constipated repo in emergencies:
git reflog expire --expire=now --all && git gc --prune=now
bfg does that:
git clone --mirror git://example.com/some-big-repo.git java -jar bfg.jar --strip-blobs-bigger-than 10M some-big-repo.git cd some-big-repo.git git reflog expire --expire=now --all && git gc --prune=now --aggressive git push
e.g. you are editing a git repo on NTFS via Linux and things are silly.
git config core.filemode false