How can I visualize GitHub branch history on Windows?
Asked Answered
E

7

14

Every time I was thinking of switching all of our little team's projects to git / github, what pained me was that there didn't seem to be a tool to visualize all this social coding goodness.

When we all start wildly branching, forking and merging, I feel we're going to need a tool that would let us graphically see the full picture of our repository and its multitude of branches, in order to come up with a plan to merge it all back at some point into one and only truth (the proverbial origin/master).

I've tried googling for such a visualization tool on several occasions, but came up empty handed. Was hoping that GitHub for Windows would solve this once and for all, but all it shows is linear history for a particular checked out branch.

What I'm looking for is something akin to what TortoiseHg has - a graph showing all branches and commits. Are you aware of any such tools? (We're on Windows.)

Edwin answered 7/9, 2012 at 19:11 Comment(3)
The network graph on github is a simple version of this (e.g. github.com/will-hart/PyTextDiff/network). Could you give us an idea of where this is lacking?Mcguire
@Mcguire as many would have mentioned before, the network graph is very limited with no way of carrying out operations directly (like viewing diffs, merging) on the graph itself.Menken
@Menken yeah its pretty basic... I was curious what the OP had found lacking in this feature. Some good answers appearing below!Mcguire
T
12

SourceTree seems friendlier than TortoiseGit for the graphs and you can interact with the graph as well.

Source Tree

Thiazine answered 2/1, 2014 at 20:16 Comment(2)
Saved my life. This is so much better than git log --graph --all on a cygwin terminal.Enucleate
Voting this as answer because at the moment this in my view is the best way to view the graphs I had in mind. Thanks!Edwin
C
10

Stick with msysgit

gitk --all 

is what you want. From there you can even checkout branches, reset them, view diffs, etc.

For something quicker, I would suggest

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

This gets piped through less by default which gives you good navigation including search.

Another option is just to install linux in a VM (virual box is free) and use tig. You can ssh to the VM so you don't have to deal with the VM itself while using linux.

Crime answered 7/9, 2012 at 20:11 Comment(0)
C
5

GitExtensions is your best bet.

enter image description here

TortoiseGit is ok, though in it's attempt to "protect us from ourselves", they hide some of the native power of Git. Fail.

SeeGit is an interesting project from Phil Haack that helps visualize things.

enter image description here

The best tool is the command-line and a quick command like this is probably easiest and most powerful:

git log --oneline --graph --decorate --all
Czechoslovak answered 7/9, 2012 at 20:35 Comment(2)
The SeeGit application looks nice and promising from the screen shots, but just a head's up that there is a bunch of reports of it not working, and it didn't work on my Windows 7, despite that being the version of Windows that this application was actually built for and tested on. The download is outdated, and there is more recent code than that in the GitHub repository, but it's not my ambition to build this from scratch.Exhibitor
Just freezes on Windows 10Bebe
M
2

That pretty much would have to be TortoiseGit since you are already familiar with TortoiseHg. (Check All Branches)

enter image description here

Menken answered 7/9, 2012 at 20:17 Comment(0)
E
1

Now days VScode has extension called git-graph, which worked best for my needs.

Epicene answered 27/4, 2021 at 11:49 Comment(0)
G
1

You could use Le Git Graph (read as legit graph), a browser extension that does exactly this, within browser.

Le git graph demo

Install the extension from here : https://chrome.google.com/webstore/detail/le-git-graph-commits-grap/joggkdfebigddmaagckekihhfncdobff

It will add a new "commits" section to every GitHub repo you open. Open the commits graph and there, all commits across branches will be listed along with the git graph.

Le git graph demo 2

Hope it helps! An upvote would be highly appreciated!

Gony answered 14/10, 2022 at 21:23 Comment(0)
C
0

Depending on your push \fetch \ pull habits then you can either use the gitk viewer to see what you know locally (including the remotes you have fetched), or you can use the Network capability on Github to see what it has.

Just select a multi-forked project (with not too many forks;-) and click on the network tab to see how all the other forks relate to it.

Some times you do need to switch fork to get the view point you want, but it's not too much hassle, and for a small team it looks ok.

I have made recent suggestions to Github about selectivity for forks (to down select when there are a lot of forks to display).

Carrel answered 7/9, 2012 at 19:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.