I'm using Git Bash on Windows 7 and would like to set up Bash profile aliases such as alias gs='git status' to make my life easier. How can I do this?

up vote 109 down vote accepted

When you open up your Git Bash, you should be in your home directory by default. Now create the .bashrc file (if on Windows 7 the file should be named .bashrc.).

If you're not in the home directory, change into it by typing:

cd

and pressing Enter. cd, without any other parameters listed after, will always return the home directory.

You can create the file by typing:

touch .bashrc

Then edit it with Vim or you could try doing it with some Windows editor, but I don't recommend it, because of some text formatting issues.

vim .bashrc

Change to Insert Mode by hitting the i key.

Add your alias by typing:

alias gs='git status'

Exit the insert mode by hitting the Esc key.

Save and close your file by typing the following :wqEnter.

:wEnter will only save your file.

:q!Enter will quit the editor without saving your file.

Finally, update the file to use your new changes by typing:

source .bashrc

  • Thanks for your answer. I didn't know about .bashrc before, so your answer lead me to several sources, including superuser.com/questions/183870/…, that agree that .bashrc is a better place to put aliases than .bash_profile. – Brian Jun 3 '13 at 15:07
  • This really helped! I love that you also supplied the additional commands to use VIM. It's not really the most friendliest editor. Much appreciated! – cbloss793 Aug 4 '16 at 21:14
  • 3
    This gives me WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile. This looks like an incorrect setup. A ~/.bash_profile that loads ~/.bashrc will be created for you. (Git-2.11.0-64-bit) – aliopi Jan 19 '17 at 7:53
  • How can I add a path in that file I tried: ´alias app='cd c:\mypath'´ – utdev Mar 30 '17 at 7:53
  • FYI, no need to touch the file, vi will create it for you directly. Prevents you one line ;) – Olivier Feb 28 at 13:19

You can put .bash_profile in your user directory: C:\Users\<username>.

You can also create some git-only aliases so you can do just git st for git status by adding these lines to C:\Users\<username>\.gitconfig:

[alias]
st = status

Some other useful aliases:

cm = commit -m
cma = commit -a -m
br = branch
co = checkout
df = diff
ls = ls-files
sh = stash
sha = stash apply
shp = stash pop
shl = stash list
mg = merge
ph = push -u
  • 2
    If aliases for Git commands are needed, editing the .gitconfig file is usually sufficient. – Isxek Jun 2 '13 at 21:45
  • Thanks for your answer! I wasn't expecting to get two different but correct answers. – Brian Jun 3 '13 at 15:11
  • 1
    For me, .bash_profile wasn't in my windows home dir. but my roaming home dir (network admin imposed). The "correct" answer is "put .bash_profile in your git bash home dir", which you can find by going to cd ~ then pwd – Bohemian Jan 18 at 19:44

If you can't find your ~/.bashrc file, you can add all aliases to your ~/.bash_profile file.

For instance, to add an alias for a Git command (git status) simply add:

alias gs="git status"

In the same way you can add an alias for a Bash command (change directory path):

alias myd="cd ~/path to my directory"

In your Git Bash home directory, there should be a .gitconfig file. In this file you can add your aliases by adding [alias]. It should be something like below:

[alias]
st = status
co = checkout
  • 2
    Welcome to Super User! This duplicates another answer and adds no new content. Please don't post an answer unless you actually have something new to contribute. – DavidPostill Jul 5 '16 at 9:32

Simply (if you have .bashrc you will add aliases to the end of file):

cat >> ~/.bashrc

Paste or type a list of aliases. Press Ctrl + D and finally run:

source ~/.bashrc

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.