How do I change the default location for Git Bash on Windows?
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.
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.
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.
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!
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.
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
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.
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.
1/ Go to Properties of Git Bash
2/ Change Start in: to your the directory of your choi
3/ Delete --cd-to-home
4/ Restart Git Bash
Right click on Git Bash shortcut
and 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.
I am using Git bash on Windows 10, here is my solution:
- Close all git bash sessions
- Hit windows key and type:
env
; then clickEdit environment variables for your account
(control panel) - Under "User variables for ...."; hit
New
button - Variable Name: HOME
- 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
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 !
Once you have updated the Start in:
field make sure to remove the --cd-to-home
at the end of the Target:
field
If using Windows OS then add target like above :
- Right click on git terminal > Properties
- Properties>Under shortcut tab>Start in: add your folder target path like below image
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.
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
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.
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.
the only way that worked for me on windows 10:
- right-click gitbash shortcut -> proporties
- change target as: "C:\Program Files\Git\git-bash.exe" --cd=C:\Users\test\Desktop\
This will always open desktop path
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
- Open up Git Bash
- Run vim ~/.bashrc
- Press i in order to insert characters
- Type cd C:/path/to/folder; (make sure you use forward slashes)
- Press esc to exit the insert mode
- Press :wq or ZZ to save and exit vim
I found this solution on https://simplernerd.com/cli-git-bash-default/
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".
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
Add "cd your_repos_path" to your Git profile, which is under the %
.
As from this link
lets say you want your change to default location to c:\myprojects
Open git bash
type in:
echo "cd 'C:\myprojects'" >> ~/.bash_profile
Press Enter
Close Git bash and open again
You should start from c:\myprojects
Tested on git version 2.36.1 on windows
Troubleshoot:
- Make sure you type in the folder inside the '' and the entire cd command inside "" just like the example
- make sure folder exist
I tried the following; it helped me. I hope it help you also.
cd /c/xampp/your-project
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
You can create a .bashrc configuration file:
cd ~ && touch .bashrc && echo "cd /folder1/folder2/folder3"
Change cd command to the directory you want.
精彩评论