Category: git

  • The most confusing git terminology

    n.b. This blog post dates from 2012, so some of it may be out of date now. To add my usual disclaimer to the start of these blog posts, I should say that I love git; I think it’s a beautiful and elegant system, and it saves me huge amounts of time in my daily work. […]

  • A short introduction to git

    I gave a short talk at work that was intended to be a sound introduction to the basics of using git, and wrote a tutorial document to go along with that. In case that is of wider interest, I’ve now put a copy of the tutorial online. It is deliberately limited in scope at the […]

  • Missing git hooks documentation

    One part of git’s documentation that is particularly lacking is that on the subject of hooks.  In particular, that page doesn’t explain: What the current working directory is when the hooks run. Which helpful environment variables are set in the environment when the hooks are run. These omissions are particularly irritating since the current directory […]

  • git: Too Many Topic Branches

    Another couple of git tips, that might conceivably be useful to someone somewhere :) git makes it so easy to create topic branches, that it’s easy to lose track of which branches were for what. Here are a couple of recipes that might help with this: Order branches by last commit date I often want […]

  • An asymmetry between git pull and push

    Although git is an excellent system, which has certainly changed my way of working for the better, occasionally one comes across an inconsistency that seems bizarre. In case you don’t want to read the whole of this post, the one sentence summary would be, “By default, git push origin will update branches on the destination […]

  • git Submodules Explained

    I haven’t actually finished the FAQ bit of this post yet, but since I’m not sure when I’ll have time to do so, I’ll just publish it anyway – please let me know in the comments if this is useful for you, or there’s something else you’d like to see included. Submodules in git are […]

  • A Few git Tips

    I owe thanks to Johannes Schindelin, who passed on at least three of these tips to me in the course of working on Fiji :)  Update: this page was written when I was relatively new to git – some of the general remarks about the philosophy of git are better expressed in a short tutorial […]

  • git: fetch and merge, don’t pull

    This is too long and rambling, but to steal a joke from Mark Twain Blaise Pascal I haven’t had time to make it shorter yet.  There is some discussion of this post on the git mailing list, but much of it is tangential to the points I’m trying to make here. One of the git […]