How do I change the default location for Git Bash on Windows?

GitWindows 7Git Bash

Git Problem Overview


I am using Git on Windows 7 and access my repositories through Git Bash. How can I change the default location that Git Bash opens in a convenient folder when I start it?

It's somewhat time consuming to navigate to htdocs, and then a specific folder. Is there a way to change the configuration file to have it open elsewhere? Or would it be possible to write a .sh file to do this?

Unfortunately Git Bash won't open my htdocs folder shortcut on my desktop, and it takes using cd 5 times to get to my desired directory.

Git Solutions


Solution 1 - Git

After installing msysgit I have the Git Bash here option in the context menu in Windows Explorer. So I just simply navigate to the directory and then open Bash right there.

I also copied the default Git Bash shortcut to the desktop and edited its Start in property to point to my project directory. It works flawlessly.

Windows 7x64, msysgit.

Solution 2 - Git

The easiest way without installing msysgit is right click on the Git Bash shortcut icon → Start in: → "C:\Program Files (x86)".

Change the Start in entry and point out the Git Bash starting position. If you don't remove the --cd-to-home part from the Target box, the Start in change gets overridden.

Solution 3 - Git

Add this line to your .bashrc file:

cd C:/xampp/htdocs/<name of your project>;

If the .bashrc file doesn't exist, create one in your root folder. For me it is: C:\Users\tapas\

Save .bashrc and open Git Bash. That's it!

Solution 4 - Git

I read it somewhere and it worked for me.

First check in git bash what is the HOME location. Open git bash and run

echo $HOME

Now change the HOME path by opening cmd and run

setx HOME "path/to/.ssh/loc" (I gave C:\Users\aXXXX)

Now cross check by running the echo command in git bash.

Solution 5 - Git

Open the properties of the bash and change to "Start in" to where you want to start in. After this, (I had this problem and I solved it by doing this) go to target and delete the --cd-to-home parameter part after "C:\Program Files\Git\git-bash.exe" . Only THEN will you start in the "Start in" directory that you specified.

Solution 6 - Git

Windows 10 tested solution

  • Type git bash in search

  • Right click on it and choose open file location

  • Right click on it and choose properties

  • At target remove --cd-to-home from "C:\Program Files\Git\git-bash.exe" --cd-to-home

  • At start in put the path of the directory you want it to start at for example Start in: C:\xampp\htdocs

Solution 7 - Git

If you're like me, and the way you get to Git is windows key + G + I + Enter, then you can simply hit the windows key, search for Git, right click on the resulting Git Bash icon, select properties, and change the Start in: field.

I'm not exactly sure what this does, because I'm not exactly sure what Git on Windows is (a facade on top of sh which itself is a facade on cmd?), but in any case, you can now pin the shortcut that Windows pulls up on a search for "Git" to your taskbar, or to your desktop, and it will still start in whatever directory you set it to.

Solution 8 - Git

1/ Go to Properties of Git Bash

2/ Change Start in: to your the directory of your choi

3/ Delete --cd-to-home

enter image description here

4/ Restart Git Bash

Solution 9 - Git

Right click on Git Bash shortcutand then go to properties.
In properties inside start in option add the location of the directory you want to start Git Bash in and apply the changes.

Solution 10 - Git

I am using Git bash on Windows 10, here is my solution:

  1. Close all git bash sessions
  2. Hit windows key and type: env; then click Edit environment variables for your account (control panel)
  3. Under "User variables for ...."; hit New button
  4. Variable Name: HOME
  5. Variable value: path where you would like ~/ to be in git bash

Open a git bash session and test it by typing: pwd and double check by doing cd ~/ && pwd

Solution 11 - Git

Git bash is used to play with bash commands. So I use bash method itself in windows Git bash

Edit your .bash_profile (create it if you doesnot have one - see below how to create). Enter the following lines.

###Add these lines to the file alias ws="cd /d/workspace/" ws

###My .bash_profile looks like this

Smilyface@SmilingMachine /d/workspace
$ cat ~/.bash_profile
alias ws="cd /d/workspace/"
ws

###How to create a new .bash_profile ?

touch ~/.bash_profile

OR write into the file directly

vi ~/.bash_profile 

Simple, aha !

Solution 12 - Git

Once you have updated the Start in: field make sure to remove the --cd-to-home at the end of the Target: field

Solution 13 - Git

Make a Git Bash shortcut to Desktop for convenience then right click on the icon goto properties. Here you will find the Start in: section with a text box. Replace the path you want, for example like:

%USERPROFILE%\Desktop

Then open it directly by clicking on the icon. You will get the default Desktop path in Git Bash.

Solution 14 - Git

I liked Peter Mortenson's answer, but I would like to expand.

'cd ~' in the .bashrc file causes the "Git Bash Here" feature of Git Bash to stop working. Instead, add this if statement to the .bashrc file:

if [ "$PWD" == '/' ]
then
        cd ~
fi

This will change to the home directory when Git Bash is run on its own, but when "Git Bash Here" is run, the current working directory will not be changed.

Solution 15 - Git

Open this file:

C:\Program Files\Git\etc\bash.bashrc

And append the following line:

cd /c/Users/<User>/Documents/path/to/your/repos

Restart Git bash

Solution 16 - Git

If you're using Git Bash through Windows Terminal, you can set the starting directory (of any profile).

In Windows Terminal, go to Settings > Open JSON file.
In this file, in profiles > list, you can set the startingDirectory property (backslashes need to be escaped).

See the documentation.

open settings screenshot

JSON files screenshot

Solution 17 - Git

the only way that worked for me on windows 10:

  1. right-click gitbash shortcut -> proporties
  2. change target as: "C:\Program Files\Git\git-bash.exe" --cd=C:\Users\test\Desktop\

This will always open desktop path

Solution 18 - Git

Add a line to change to the desired directory in your .bashrc file or create a .bashrc if you don't have one.

I.e. add cd C:/path/to/yourfolder to your .bashrc file

Be mindful that the path format is forward slash '/' Unix style and not Windows '\' backslash.

One way to do this is to open bash and edit it using vim

  1. Open up Git Bash
  2. Run vim ~/.bashrc
  3. Press i in order to insert characters
  4. Type cd C:/path/to/folder; (make sure you use forward slashes)
  5. Press esc to exit the insert mode
  6. Press :wq or ZZ to save and exit vim

I found this solution on https://simplernerd.com/cli-git-bash-default/

Solution 19 - Git

Just type the path of your local directory (Git project home directory) in the properties of Git Bash. I.e. set path C:\yourprojsctdirectory to Git Bash's properties field "Execute In" or (Ausführen in). That's it!

Now double click Git Bash. The Git header will be on your "yourprojsctdirectory".

Solution 20 - Git

The working solution listed are great, but the problem occurs when you want multiple default home for your git-bash.

A simple workaround is to start git-bash using bat script.

git-bash-to-htdocs.bat
cd C:\xampp\htdocs
"C:\Program Files\Git\git-bash.exe" 

The above of course assume git-bash is installed at C:\Program Files\Git\git-bash.exe

You can create multiple .bat file so your git-bash can start where it want to be

Solution 21 - Git

If using Windows OS then add target like above :

  1. Right click on git terminal > Properties

Step > one

  1. Properties>Under shortcut tab>Start in: add your folder target path like below image

Step > two

Solution 22 - Git

Add "cd your_repos_path" to your Git profile, which is under the %.

Solution 23 - Git

I tried the following; it helped me. I hope it help you also.

cd /c/xampp/your-project

Solution 24 - Git

Since I'm using git-bash inside of vscode as a terminal I don't always want to cd into a specific directory, for this to work I checked if my current directory(pwd) is / and if so it should only then cd to ~. So whenever I open the terminal inside vscode git-bash's current working directory is my opened folder inside of vscode and it doesn't change to ~ since it only does that when my current working directory is /.

For this to work I added following if condition into ~/.bashrc:

if [ $(pwd) = '/' ] then cd ~; fi

TIP: make sure your ~/.bash_profile actually loads ~/.bashrc by a line like the following:

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlex WatersView Question on Stackoverflow
Solution 1 - GitMarcin GilView Answer on Stackoverflow
Solution 2 - GitMohammad ArifView Answer on Stackoverflow
Solution 3 - GitsoundswasteView Answer on Stackoverflow
Solution 4 - GitChinmoyView Answer on Stackoverflow
Solution 5 - GitVladimir DespotovicView Answer on Stackoverflow
Solution 6 - GitProfessor ChaosView Answer on Stackoverflow
Solution 7 - GitGroostavView Answer on Stackoverflow
Solution 8 - GitThinh LeView Answer on Stackoverflow
Solution 9 - GitAnant SinghView Answer on Stackoverflow
Solution 10 - GitrolyatView Answer on Stackoverflow
Solution 11 - GitsmilyfaceView Answer on Stackoverflow
Solution 12 - GitIcementholsView Answer on Stackoverflow
Solution 13 - GitanandView Answer on Stackoverflow
Solution 14 - GitRichard SellersView Answer on Stackoverflow
Solution 15 - GitsklimkovitchView Answer on Stackoverflow
Solution 16 - GitcolinDView Answer on Stackoverflow
Solution 17 - Gitvlatko606View Answer on Stackoverflow
Solution 18 - GitDavid SopkoView Answer on Stackoverflow
Solution 19 - GitAdnan Ali Ch.View Answer on Stackoverflow
Solution 20 - GitNg Sek LongView Answer on Stackoverflow
Solution 21 - GitSurendranath SonawaneView Answer on Stackoverflow
Solution 22 - GitLiang HaimingView Answer on Stackoverflow
Solution 23 - GitMuhammad Sohail iqbalView Answer on Stackoverflow
Solution 24 - GitFerhatCView Answer on Stackoverflow