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文件系统中)