Strong opinions, weakly held

Why GitHub matters

Most days I think Git is the worst tool I use, but I don’t feel the same way about GitHub. John Norman explains why GitHub is really important:

Today, the announcement of a new project would happen by a number of means, but the beginnings of the code project would exist at GitHub. GitHub puts the social exchange at the very center. I suspect that GitHub’s servers now contain the world’s largest corpus of commentary around intellectual production. As I see it, the production of code has been wildly accelerated since the advent of the open source model; but the emergence of GitHub has been like throwing gasoline on that fire.

Read the whole thing.


  1. git has completely changed the way I do SCM for the better. It’s an order of magnitude better than svn or cvs. It took me a while to feel comfortable with it but now I wouldn’t use anything else. Of course github makes git 10x more useful.

    The great thing about github is that anyone can play. You don’t have to ask permission to start “contributing” – you just clone a repo and make changes. Any maybe send pull requests back to the original project. But the hurdle to start participating is much much lower than something like sourceforge. It almost pulls you in.

  2. The thing I hate about Git is how easy it is to screw things up in your working copy and get them into a state where you really need to know a lot to get back out of it. Like you have a merge conflict applying your stash, or you have a fork of a remote repo and you need to merge a bunch of changes from the upstream into your local repo so that you can then push them to your fork, which enables you to then push your changes back upstream without a bunch of merge commits included, or any number of other complex scenarios that I don’t really understand and just sort of muddle through. How much should one person have to learn about a source control system?

  3. Enough to handle the complex scenarios they need to deal with? 🙂

    With any other SCM those scenarios would be a complete management nightmare if not impossible. With git those things are possible.

    Branching is so painless in git I’ve been trying to do changes in feature/bug/play/whatever branches, committing often and the re-baking the commits if needed into a more coherent state before merging with a more main or remote branch. By doing the commits more often I am less likely to lose anything or get lost.

Leave a Reply

Your email address will not be published.


© 2024 rc3.org

Theme by Anders NorenUp ↑