Git for Windows:.bashrc或者Git Bash shell的等价configuration文件

我刚安装了Git for Windows,很高兴看到它安装了Bash

我想用我在Linux下可以用的相同方式定制shell(例如,为ls -l设置别名,例如ll ),但似乎找不到.bashrc或等价的configuration。

我应该编辑什么?

~/.bashrc下创build一个.bashrc文件,然后离开。 ~/.gitconfig同样~/.gitconfig

~通常是你的C:\Users\<your user name>文件夹。 在git bashterminal中inputecho〜会告诉你这个文件夹是什么。

如果你不能创build文件(例如运行Windows),请运行以下命令:

 copy > ~/.bashrc 

该窗口将输出一个错误信息(找不到命令),但该文件将被创build并准备好进行编辑。

在Git for Windows的更新版本中,bash是以--login开始的,这会导致bash不能直接读取.bashrc 。 而是读取.bash_profile 。 如果此文件不存在,请使用以下内容创build它:

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

这将导致bash读取.bashrc文件。 从我对这个问题的理解,Git for Windows应该自动执行此操作。 不过,我刚刚安装了2.5.1版本,但没有。

我必须通过系统,高级系统设置,系统属性窗口,高级选项卡,环境variables…然后在我的C:\Users\<your user name> C:\Users\<your user name>添加一个用户环境variablesHOME C:\Users\<your user name>我创build了.bashrc文件,例如, touch .bashrc并添加所需的别名。

1)以pipe理员模式打开git-bash.exe。 (右键单击文件并select“以pipe理员身份运行”,或更改“属性”→“兼容性”→“以pipe理员身份运行此程序”中的设置。

2)运行cd ~ 。 它会把你带到C:/Users/<Your-Username>

3)运行vi .bashrc 。 这会让你进入编辑。 点击INSERT,然后开始input以下信息:

 alias ll="ls -la" # this changes the default ll on git bash to see hidden files. cd "C:\directory\to\your\work\path\" ll # this shows your your directory before you even type anything. 

我想这里的问题是如何在Windows上find.bashrc文件。

既然你正在使用Windows,你可以简单地使用类似的命令

 start . 

要么

 explorer . 

打开你的git的根目录的窗口,你会发现.bashrc文件。 如果不存在,您可能需要创build一个。
您可以使用Notepad ++之类的Windows工具编辑文件,而不是在bash上使用vim。

有时这些文件实际上位于~/ 。 这些是我在VSCode / Windows 10上启动zsh作为默认terminal的步骤。

  • cd ~/

  • vim .bashrc

  • 粘贴以下.. if test -t 1; then exec zsh fi if test -t 1; then exec zsh fi

  • 保存/closuresvim。

  • 重新启动terminal

如果你想打开GIT bash时有项目select列表

  • 将代docker中的ppath编码到你的git项目path中 ,把这段代码放到.bashrc文件中,并把它复制到你的$ HOME目录下(在Win Vista / 7中通常是c:\ Users \ $ YOU

 #!/bin/bash ppath="/d/-projects/-github" cd $ppath unset PROJECTS PROJECTS+=(".") i=0 echo echo -e "projects:\n-------------" for f in * do if [ -d "$f" ] then PROJECTS+=("$f") echo -e $((++i)) "- \e[1m$f\e[0m" fi done if [ ${#PROJECTS[@]} -gt 1 ] then echo -ne "\nchoose project: " read proj case "$proj" in [0-`expr ${#PROJECTS[@]} - 1`]) cd "${PROJECTS[proj]}" ;; *) echo " wrong choice" ;; esac else echo "there is no projects" fi unset PROJECTS 
  • 你可能想把这个文件设置为GIT bash中的可执行文件chmod + x .bashrc (但它可能是多余的,因为这个文件存储在ntfs文件系统中)