Starting with the discontinuation of cogito, i began to wonder about my future git usage patterns. On the one hand, i have become quite used to the convenience of some of the cogito commands, on the other hand i found myself using or looking up git commands every other day. Since the discontinuation, cogito cannot be expected to remedy those work-flow interruptions any time soon, so i actually started to cook up my own small set of convenience wrappers. I’m adding those on demand whenever i need a new source repository command, and i try hard to keep it simple, avoid giving the wrappers any options and keep an eye on them being very shell-completion friendly.

The GPLv3 licensed result is a single shell script plus a handful links for invocation: yyhelp.

For the curious, the prefix 'yy' was chosen to allow conflict free shell completion. I’ll quote the yyhelp information here, so people can decide if it’s interesting for them and also get to see the installation instructions. I’m not entirely sure where to take this shallow wrapper in the future, however keeping it simple is really the main incentive behind it. Any deeper logic required should rather be filed as git-core requests. If you want to talk to me about YummiYummiGit, drop me a line via email, or try #git on

YummiYummiGit                                                     YummiYummiGit

    YummiYummiGit - The simplest git wrapper ever, yet convenient

    yyadd          [FILES...] - add files to git repository
    yybranch    [-f]  - add branch (forcable)
    yybranchdel [-f]  - delete branch (forcable)
    yyChangeLog               - show git log in ChangeLog style
    yycommit       [FILES...] - commit current working tree
    yydiff         [FILES...] - show committable differences in working tree
    yygc                      - repack and prune repository
    yyhelp                    - display yy* help information
    yylsbranches              - list branches
    yylstags                  - list tags
    yypull                    - pull upstream sources
    yypushpull                - push & pull upstream sources
    yyremove       [FILES...] - remove files from git repository
    yyreset                   - reset (revert to HEAD) all files in the tree
    yyrestore      [FILES...] - forcefully recheckout specific files
    yystatus                  - display working tree status
    yytag                - add tag
    yytagdel             - delete tag
    yyuncommit                - undo the last commit (must be unpushed)
    yyview                    - browse & navigate the history
    yywarp            - checkout new branch

    YummiYummiGit was created as a very shallow wrapper around git-* tool
    option variants, to simplify common cases.
    Depending on programming habits, YummiYummiGit may or may not suit your
    daily needs. It is in any case not meant as a full replacement for the
    git interface (there is e.g. no yyclone) and subject to change.

    To install YummiYummiGit, copy yyhelp into a bin/ directory from $PATH
    and invoke: ./yyhelp --create-aliases

YummiYummiGit-0.4                                                 YummiYummiGit
Post comment via email