git sucks‽

A few people on Planet GNOME are complaining about git, so I figured I should also post an example about git’s shortcomings when passing unexpected command line arguments.

$ git make me a sandwich
git: 'make' is not a git-command. See 'git --help'.

As a counter-point, let’s see how well bzr handles this…

$ bzr make me a sandwich
-bash: bzr: command not found

At this point it seems fairly obvious that version control systems (even distributed ones) are not good chefs — after all, that’s what sudo is for.

Tags: , , ,

19 Responses to “git sucks‽”

  1. garrett says:

    This is a joke. I actually have bzr installed too. (:

  2. says:

    I’ll post some more commands and options that Any Decent VCS Is Expected to Support(tm) but Git just doesn’t because its initial design was made by Evil Kernel Hackers(tm):

    $ git I am a Bzr fan
    git: ‘I’ is not a git-command. See ‘git –help’.

    Did you mean one of these?

    $ git –I-work-for-Canonical
    Unknown option: –I-work-for-Canonical
    usage: git [–version] [–exec-path[=GIT_EXEC_PATH]]
    [-p|–paginate|–no-pager] [–bare] [–git-dir=GIT_DIR]
    [–work-tree=GIT_WORK_TREE] [–help] COMMAND [ARGS]

    Why doesn’t it Just Work(tm)? Let’s compare it to my all-time favourite tool:

    $ bzr log -r 4011.4.1..4016
    bzr: ERROR: exceptions.ValueError: list.index(x): x not in list

    Traceback (most recent call last):


    *** Bazaar has encountered an internal error.
    Please report a bug at
    including this traceback, and a description of what you
    were doing when the error occurred.

    It Just Works(tm) and gives a nice and beautiful backtrace to user.

  3. $ git make me a sandwich
    Failed to run command ‘make’: Permission denied

    Hum, hum.

  4. Vadim P. says:

    That’s a good one.

    Bzr also has a “rocks” command, but that in no way contributes to the argument of git’s highly technical help files.

  5. Sandy says:

    Excellent funnies. I laughed muchly. Good morning comedy!

  6. Sam Morris says:

    You may have an out of date version of bzr installed:

    $ bzr –version
    Bazaar (bzr) 1.5

    $ bzr make me a sandwich
    bzr: ERROR: unknown command “make”


  7. Flimm says:

    @Sam: he doesn’t have bazaar installed! I can’t decide whether this post is a joke, or proof that Garette LeSage will do anything to bash bazaar, or what.

  8. # hg make me a sandwich
    hg: unknown command ‘make’
    Mercurial Distributed SCM

    basic commands:

    add add the specified files on the next commit
    annotate show changeset information per file line
    clone make a copy of an existing repository
    commit commit the specified files or all outstanding changes
    diff diff repository (or selected files)
    export dump the header and diffs for one or more changesets
    init create a new repository in the given directory
    log show revision history of entire repository or files
    merge merge working directory with another revision
    parents show the parents of the working dir or revision
    pull pull changes from the specified source
    push push changes to the specified destination
    qdiff diff of the current patch and subsequent modifications
    qimport import a patch
    qinit init a new queue repository
    qpop pop the current patch off the stack
    qpush push the next patch onto the stack
    qrefresh update the current patch
    remove remove the specified files on the next commit
    serve export the repository via HTTP
    status show changed files in the working directory
    strip strip a revision and all its descendants from the repository
    update update working directory
    view start interactive history viewer

    use “hg help” for the full list of commands or “hg -v” for details

    I can’t stop to wonder if a hg sandwich would be poisoned with mercury.

  9. Andreas says:

    mercurial ftw
    I wonder why it doesn’t even come up in the discussion. I mean, I think it *is* faster than bzr, has more features, and is easier to use than git and maybe even bzr.

  10. Ori says:

    $ git make me a sandwich
    git: ‘make’ is not a git-command. See ‘git –help’.

    Did you mean one of these?

    $ git –version
    git version

  11. Chris Lord says:

    Personally, I like git the most (mostly for the excellent UI tools and abundance of helpful docs/people), but I’d definitely pick Mercurial over Bazaar… Wonder why it never comes up…

  12. Sebastian Nowicki says:

    $ git –version
    git version 1.6.1
    $ git make me a sandwich
    git: ‘make’ is not a git-command. See ‘git –help’.

    Did you mean one of these?

    Much better.

  13. Matías says:

    Haha, try fossil or something

  14. Dude, an interrobang? You’re hardcore. I’m impressed.

  15. […] link is being shared on Twitter right now. @nirbheek said Hilarious! — git sucks‽ […]

Leave a Reply