Page 382 – The GitHub Blog
Updates, ideas, and inspiration from GitHub to help developers build and design software.
Say hello to the Network Graph Visualizer
10 Apr 2008, 3:25 pm
Our goal here at GitHub is to break down the barriers that normally impede collaboration. One of the biggest challenges that we face as developers is keeping track of what other contributors have done. I’ve spent the last month working on GitHub’s answer to that problem and so we’re very pleased to announce the interactive GitHub Network Graph Visualizer!
Above you’ll see a screenshot of the “network graph of my god repository”:/mojombo/god/network. On the left hand side is a list of GitHub users. Across from each user is drawn a graph of commits. Since I’ve asked for the graph to be drawn with me (“mojombo”:/mojombo) as the root, every commit on every branch that I currently have in my repository (“mojombo/god”:/mojombo/god) will be graphed across from my name. If you look at the second user in the list (“Bertg”:/Bertg), you’ll see that only commits that appear in his repository (“Bertg/god”:/Bertg/god) but not mine are drawn across from him. The third user (“kevinclark”:/kevinclark) has commits that appear in neither my repo nor Bertg’s repo. And so on.
When you look at the graph you are seeing every commit on every branch of every repository that belongs to a network. But you are seeing each commit only once. Let that sink in for a second. I find that many coders are so used to a centralized SCM that they miss the fact that our Graph Visualizer is actually showing and connecting disparate repositories. Git makes this possible and once it hits you, it can change everything.
Think of it like this. If I draw the graph with myself as root, then the graph shows a sort of to-do list of code that I haven’t pulled into my repo yet. When I want to catch up on what the community has been doing in their forks of my repo, I can hit up the graph and see immediately what others have been up to. If I were to pull in Bertg’s changes, the next time I see the graph, Bertg will no longer be shown at all because he will no longer have any commits that I do not. Keep thinking to-do list and you’ll understand the graph.
This method of drawing the graph may seem odd at first. If both Alice and I contribute to merb-core and at some point Alice pulls my commits into her repo, then I may not be shown on the network graph at all (if the graph ordered her before me). My commits would have already been drawn in her repo. It is important to realize that the graph is about code not ego. My code may be in my repository and yours and many others. Our individual repos are simply vehicles for introducing our code to the world. If we learn to let go of our code a little bit, we are rewarded ten-fold by what the community or our coworkers will do with that code.
You can move around the graph by clicking and dragging it with your mouse. If you click in the graph, then you can use the arrow keys or vim movement keys (hjkl). Hold down the shift key while hitting left or right and you’ll go to the beginning/end of the graph. Press t to show/hide the tag markers. Hover over a commit for details about it. Click on a commit to be taken to that commit in a new window (makes it easy to come back to the graph without losing your place). Click a username to redraw the graph with that person as the root.
Here’s a few more graphs that show some complex branching:
- “git-wiki”:/sr/git-wiki/network
- “merb-plugins”:/wycats/merb-plugins/network
- “lovd-by-less”:/stevenbristol/lovd-by-less/network
You can see the graph for any repo by clicking the Network tab.

The post Say hello to the Network Graph Visualizer appeared first on The GitHub Blog.
GitHub on Fluid
9 Apr 2008, 12:21 pm
Want to use GitHub with Fluid? We got you covered. Here’s a massive octocat for superb dock action.
The post GitHub on Fluid appeared first on The GitHub Blog.
Git Tricks
9 Apr 2008, 11:10 am
Know how to add changes to a previous commit? Commit only part of a changed file? Change the message of a commit 30 commits ago?
If not, check out Ryan Tomayko’s The Thing About Git. Great post, lots of advanced Git usage in there.
Update: Hey, got a trick or two of your own? Add them to the guide!
The post Git Tricks appeared first on The GitHub Blog.
Comparing Git to Mercurial
8 Apr 2008, 12:09 am
Dustin has posted a great article comparing Git to Mercurial. He’s obviously used both extensively and gives a level headed, interesting look at how they differ.
Love the quote at the end:
Although mercurial may still feel nicer today, the change [to git] feels inevitable. This flood of people leaving centralized systems means that it’s way easier to contribute to their projects than ever before. This is the important part.
In the end, we all win either way.
The post Comparing Git to Mercurial appeared first on The GitHub Blog.
Pushing and Pulling
7 Apr 2008, 3:07 am
Eric Goodwin has posted a short tutorial entitled Pushing and Pulling Branches on GitHub. It’s a must read if you’re interested in sharing work with your peers on a branch other than master.
The post Pushing and Pulling appeared first on The GitHub Blog.
Get Some Shoes
5 Apr 2008, 4:50 am
Last summer, before GitHub, I spent a lot of time playing with Shoes. Ruby has always been lacking in the GUI department and Shoes is a really smart, innovative, cross-platform approach to the problem.

Guess what? Yep. It’s here. Follow along at the GitHub repository and why’s excellent blog, Hackety Hack.
The post Get Some Shoes appeared first on The GitHub Blog.
New to Git? Cheat!
4 Apr 2008, 12:35 pm
Learning Git is not the easiest thing in the world. There are a ton of commands, many of which have multiple personalities. What’s an aspiring hacker to do? The same thing we always do: Cheat!
The Git cheat sheet is packed with great information, and editable to boot!
If you’re a Ruby user, or have RubyGems, you can install the “cheat” gem with @gem install cheat@. After it completes, type @cheat git@ any time to have the cheat sheet delivered right to your terminal. Have at.
The post New to Git? Cheat! appeared first on The GitHub Blog.
Rails Moving to Git
3 Apr 2008, 1:26 pm
Ruby on Rails is moving to Git and GitHub. Super cool.
I particularly like the comment from AkitaOnRails:
Right now, everybody is playing catch-up with Git, Git-svn and Github, no question about that.
Most of the projects that formerly lived in Rails’ SVN repository have already made the switch to GitHub: Prototype, Scriptaculous, and Capistrano.
And let’s not forget the awesome, high profile projects already using GitHub: Merb, RSpec, DataMapper, and of course Nu and Io. Can’t wait to see who joins next!
Update: Fixed Prototype link. Whoops!
The post Rails Moving to Git appeared first on The GitHub Blog.
Back to Subversion
1 Apr 2008, 3:21 pm
Update, April 1st, 2010: While this post was originally made in jest, head over to Announcing SVN Support to see that it’s now reality.
You may have noticed things have slowed down around here. Sure, the site’s getting faster, but where are the new features? Well, it’s time to unveil what we’ve been secretly working on these past few weeks: SVNHub.
Yes, that’s right! Git is too new, too big of a change, and too hard to explain to my parents. We’re moving back to Subversion and all of you are coming with us.
The post Back to Subversion appeared first on The GitHub Blog.
Easily Install the FF GitHub Search
1 Apr 2008, 1:19 pm
Thanks to @VxJasonxV you can now install the GitHub Firefox easy-search from any page on our site:
Search away.
The post Easily Install the FF GitHub Search appeared first on The GitHub Blog.