# Creating Git Aliases

By  on

I create shortcuts for everything. I create variables which act as text shortcuts, shortcuts in TextMate to generate CSS/JS/HTML, and bash scripts so I don't have to type in the same commands over and over again. So why should version control software be any different? I commit and push religiously so I create Git aliases to save myself a few keystrokes.

## Sample Aliases

#make "com" alias for "commit"
git config alias.com commit

#make "co" alias for checkout
git config alias.co checkout

#make "br" alias for branch
git config alias.br branch

# When you want to see just the differences of one function in one file in two different commits
git config alias.funcdiff '!sh -c "git show \"\$1:\$3\" | sed -n \"/^[^ \t].*\$4(/,/^}/p\" > .tmp1 && git show \"\$2:\$3\" | sed -n \"/^[^ \t].*\$4(/,/^}/p\" > .tmp2 &&
git diff --no-index .tmp1 .tmp2"' -



These are just some sample Git aliases. You can view more detailed (and by detailed I mean brain-numbing) examples of git aliases at the Git Wiki.

## Recent Features

• By

### 9 Mind-Blowing WebGL Demos

As much as developers now loathe Flash, we're still playing a bit of catch up to natively duplicate the animation capabilities that Adobe's old technology provided us.  Of course we have canvas, an awesome technology, one which I highlighted 9 mind-blowing demos.  Another technology available...

• By

### Create a CSS Flipping Animation

CSS animations are a lot of fun; the beauty of them is that through many simple properties, you can create anything from an elegant fade in to a WTF-Pixar-would-be-proud effect. One CSS effect somewhere in between is the CSS flip effect, whereby there's...

## Incredible Demos

• By

### Record Text Selections Using MooTools or jQuery AJAX

One technique I'm seeing more and more these days (CNNSI.com, for example) is AJAX recording of selected text. It makes sense -- if you detect users selecting the terms over and over again, you can probably assume your visitors are searching that term on Google...

• By

### CSS Triangles

I was recently redesigning my website and wanted to create tooltips.  Making that was easy but I also wanted my tooltips to feature the a triangular pointer.  I'm a disaster when it comes to images and the prospect of needing to make an image for...

## Discussion

1. Nice! I use ci for commit though, more like Subversion. I also have di for diff, st for status and sta for stash.

2. Terry

I’m trying to get the funcdiff alias created. When I try to call it with something like:

git funcdiff “rel\path\to\file” functionName
or

both give me an error like:
fatal: Path ‘funcitonName’ does not exist in ‘sha1-2’.
fatal: Invalid object name ‘rel\path\to\file’.

I’ve Googled everywhere for anyone using this alias to see a sample syntax, but no one has one. Have you used it successfully?

3. Dan

You can make aliases for branch name, too. For example:

4. Peter

Dan, command

ruins git repo in windows. Because it overwrites “HEAD” with “head” in “.git” directory

For ones, that tried this: just rename the file back

5. Shahzeb

Very useful, thanks!

6. Thanks for the commands,
I need to know how to create an alias for paths.
For example if I need to write “git push PATH” instead of “git push gitolite@codex…”
Regards

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!