23

I'm using git for a personal and big project which has a wide scope (not just programming) and lots of file. Hence I've a lot of branches and merges and I want to have a nice visualization tool for branches and merges in Git (esp. if it offer an animation just like Gource or graph capability like PlasticSCM). gitk or git log are nice tools and I'm currently using them but not the solution I want.

I like open source projects, and I prefer an application which just do the job (not a whole git front-end) however if there is no open source solutions, closed ones or heavy git softwares are welcomed. I've find:

SeeGitApp (Not good for me, esp for a long and heavy branch and merging),

GitCola (I couldn't install it on windows in the first try),

GitVersionTree (very basic),

gitlist (server based, php, I couldn't try it),

gittreemap,

git2html.sh,

git log --pretty.

As I said, I've just searched for open source and utilities. if there isn't such utility for this task what would you offer instead?

Muhammad Tariq
  • 3,318
  • 5
  • 38
  • 42
SddS
  • 587
  • 1
  • 5
  • 17
  • 2
    Looks like the requester DID describe the problem and what other tools were tried as solutions. The requester did not ask "what is the best?". The question was, "are there any that resolve this situation and what might they be?" It seems that the set of answers is small, and NO SPAM WAS OFFERED. – Br.Bill Feb 09 '17 at 00:14
  • Git Kraken can be a good solution. You can use the free version to experience it. https://www.gitkraken.com/ – Muhammad Tariq Jan 02 '21 at 06:34

3 Answers3

35

How about ungit?

Ungit Screenshot

Ungit can be a bit tricky to install if you're not familiar with Node.js, but IMO it's the best git GUI I've seen so far.

Ajedi32
  • 45,670
  • 22
  • 127
  • 172
  • Yes, Thank you. I'm trying it now and It's cool! I like it. (The nodes in the graph are a bit small but there should be a way). It reminds me Sublime Text (another love):D – SddS Jan 14 '14 at 16:56
  • Currently, ungit is my choice but I like to see more option if possible. BTW, is there a way to resize the node in the graph? I mean smaller nodes? – SddS Jan 14 '14 at 17:03
  • 1
    @ToX Hmm, I don't know I've never had to do that before. Maybe try using your browser's zoom functionality? (`Ctrl`+`Scroll` or `Ctrl`+`+` / `Ctrl`+`-`.) If that doesn't work, you could always submit an issue. Ungit's author has been really good so far about responding to user feedback. – Ajedi32 Jan 14 '14 at 17:27
  • Had some success with this, doesn't seem to like every repo though. Lots and lots of outstanding issues not resolved also. – Neil Jun 24 '15 at 08:47
  • Ungit also has a nice plugin for VS Code. [link](https://github.com/RomanValihura/vscode-ungit-tab) – Koen van der Linden Mar 21 '18 at 13:55
  • osx `brew install ungit` – JeffCharter Sep 05 '19 at 17:19
20

Stock gitk --all or, at the console:

git log --graph --oneline --decorate --all

(I have this call aliased to git overview, by the way). To get better results with the display consider setting the color.ui Git configuration variable to auto.

kostix
  • 51,517
  • 14
  • 93
  • 176
  • Normally I'd recommend the same thing, but the OP specifically said "gitk or git log are nice tools and I'm currently use them but not the exact solution". – Ajedi32 Jan 14 '14 at 15:21
  • @Ajedi32, yes, but I assumed the OP is unaware of the `--all` command-line option of `gitk` and the `--graph` mode of `git log` which really provide a different picture to "the usual" way of invoking these tools. – kostix Jan 14 '14 at 15:24
  • @Ajedi32, I even have a fellow developer here at my $dayjob who never ever calls `gitk` without the `--all` command-line option ;-) – kostix Jan 14 '14 at 15:26
  • Yup. Personally, I've got `git lg` aliased to `git log --graph --oneline --decorate` and I frequently tack the `--all` option onto that when I want to get a overview of the whole repo. – Ajedi32 Jan 14 '14 at 15:29
  • @kostix, I'm aware of log -all :D and this is my personal alias if you like: KuLog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %C(dim white)%s %C(green)(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative p.s. I've lots of branch (not very usual in software dev). gitk --all is almost useless here. – SddS Jan 14 '14 at 16:47
  • `gitg --all` seems to also be a nice way to inspect things. Style differences as usual between k and g things. – TafT Jun 25 '15 at 10:08
20

Here's a cool Git GUI tool that I've been using in the past - Source Tree. I highly recommend it.

TrueWill
  • 25,132
  • 10
  • 101
  • 150
Gjaldon
  • 5,534
  • 24
  • 32
  • 1
    Thanks, I've installed it. Log View is cool but I think it has two problem for me: 1) being closed source 2) Log View presentation of graph is same as gitk or git log. I prefer more detailed graph. SmartGit and GitEye are also equivalent – SddS Jan 14 '14 at 16:59
  • I love this tool but i don't understand why it is free formac os x but not free on windows =) – Ilker Baltaci Mar 03 '15 at 08:43
  • 2
    It is free in Windows. Been using it for about a year and a half. Requires registration though. – n4rzul Dec 07 '15 at 09:41