Git for Windows:Git Bash shell的.bashrc或等效配置文件

379

我刚刚安装了Windows版的Git,很高兴看到它安装了Bash。

我想像在Linux下一样定制shell(例如设置别名如ll来代替ls -l),但是我找不到.bashrc或类似的配置文件。

我应该编辑哪个文件?


1
阅读此内容以获取更近期的版本:https://dev59.com/eVwY5IYBdhLWcg3w0Kgs - Victor Petit
关于WSL bash,请参见以下链接:https://dev59.com/gFkR5IYBdhLWcg3w0AKy - Vadzim
15个回答

432
~/.bashrc下创建一个.bashrc文件,然后就可以开始了。同样的方法也适用于~/.gitconfig~通常是你的C:\Users\<your user name>文件夹。在Git Bash终端中输入echo ~将告诉你该文件夹的位置。
如果无法创建文件(例如在Windows上运行),请运行以下命令:
copy > ~/.bashrc

窗口会输出一个错误信息(命令未找到),但文件将被创建并准备好供您编辑。
或者,您可以使用以下方式创建~/.bashrc文件:
touch ~/.bashrc

4
这是一个文件,不是文件夹。~/.bashrc 在你的主目录中,所以当你启动 git bash shell 时应该在主目录中。只需在那里创建名为 .bashrc 和 .gitconfig 的文件即可。 - Charles Ma
12
要创建 .bashrc 文件,您可以从 DOS 提示符中执行以下命令:copy > .bashrc。它会创建带有“命令语法不正确。”的文件,但是现在您可以编辑它。 - tmorell
44
只需在bash提示符下输入 notepad ~/.bashrc,就会启动notepad并打开此文件,如果该文件不存在,则会要求创建它。如果您熟悉使用vim,则只需键入vim ~/.bashrc。对我来说,这很有效。 - Gerardo Lima
11
在Windows中有一个技巧可以创建像.profile这样没有点前缀的文件:右键单击-> 创建新文件-> 文本文件-> 将其命名为.profile(注意末尾的点)-> 按下回车。 - Denis
21
您可以直接输入touch ~/.bashrc - chtenb
显示剩余11条评论

168

在较新的Git for Windows版本中,Bash启动时会使用--login参数,导致Bash不会直接读取.bashrc文件,而是会读取.bash_profile文件。

如果~/.bash_profile文件不存在,请创建它并添加以下内容:

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

这将导致Bash读取.bashrc文件。从我对此问题的了解来看,Git for Windows应该会自动执行此操作。但是,我刚安装的2.5.1版本并没有这样做。


7
谢谢。这正是我的设置所发生的事情。 - jmk2142
确实,在我最近升级到2.5版本后,就发生了这样的情况。感谢你的回答。 - Vincent
1
我也感谢你。Git Bash一直忽略我的.bashrc文件,这让我很烦恼,所以你的答案非常有效。 - Mike Collins
只需在bash提示符下键入notepad ~/.bashrc,即可启动notepad并打开此文件,或者如果它不存在,则会要求创建该文件。如果你熟悉vim,只需键入vim ~/.bashrc。这对我很有用。- Gerardo Lima - fedeteka
.bash_profile 应该在哪里创建?在 ~ 内部吗? - theberzi
3
使用2.30.0.windows.1版本的git会发出警告并自动为您执行以下操作:警告:找到/.bashrc文件,但没有找到/.bash_profile、/.bash_login或/.profile文件。这看起来像是一个不正确的设置。 将创建一个加载/.bashrc文件的/.bash_profile文件。 - BuddhiP

12

请使用以下命令:

cat /etc/bash.bashrc > ~/.bashrc

这将生成一个新的bashrc文件,其中包含默认值。请使用vi ~/.bashrc编辑此文件。


2
这应该是一个被接受的答案。 - dark_ruby
1
同意 @dark_ruby,这应该是被采纳的答案。 - Neenus
是的,Gitbash将其放在其他位置,而不是〜/ .bashrc。我想知道如何定义$PS1和其他内容。我不想在下创建它,这会将Windows用户目录与Gitbash特定配置混合在一起。 - WesternGun
这个问题是关于Windows操作系统的,而你给出了非Windows操作系统机器的答案... - vsync

10

我需要添加一个用户环境变量 HOME,其值为 C:\Users\<your user name>。操作步骤如下:进入系统设置,选择高级系统设置,然后在系统属性窗口中切换到高级选项卡,在其中找到环境变量选项...

接着在路径 C:\Users\<your user name> 下创建文件 .bashrc,可通过命令 touch .bashrc 创建,并在其中添加所需的别名。


添加用户环境变量HOME,然后创建一个.bashrc文件,并填入所需内容,例如:#!/bin/bash export TERM=msys - snassr

10

只需在Git Bash Shell中键入notepad ~/.bashrc并保存文件即可。就是这样。

注意:请确保您需要重新启动终端以反映更改。


2
为了避免重启终端,您也可以运行“source ~/.bashrc”。 - Thom Ives
这是找到您的主目录和 .bashrc 文件的最简单方法。谢谢 Ayan。 - Ahmad

8

1) 首先以管理员模式打开git-bash.exe(右键单击文件,选择“以管理员身份运行”,或更改属性→兼容性→以管理员身份运行此程序)。

2) 运行cd ~,它将带您到C:/Users/<Your-Username>

3) 运行vi .bashrc,这将使您进入编辑器。按INSERT键,然后开始输入以下信息:

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.

8

我认为这里的问题是如何在Windows上找到.bashrc文件。

由于您使用的是Windows,您可以简单地使用命令,例如

start .

或者

explorer .

打开窗口,进入你的Git Bash安装的根目录,这里你会找到 .bashrc 文件。如果它不存在,你可能需要创建一个。

你可以使用 Windows 工具,如 Notepad++ 来编辑该文件,而不是在 Bash 窗口中使用 Vim。


这是一个不错的替代方案,如果有人想在git bash之外编辑文件,可以采用这种方法。真的帮了我很多,谢谢。 - haggisandchips

5

前往:C:\Program Files\Git\etc\profile.d,你会找到所需的一切。
或者在你的主目录中创建 .bashrc 和 .bash_profile。

.bash_profile

# generated by Git for windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

.bashrc

echo "Hello World!"

这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Edwin

5

不需要创建新文件,它已经存在!

/etc/bash.bashrc

1
但它不能用于放置别名等。 - Stefatronik
正是我所寻找的! - Robson Sampaio
这是寻找指导Windows上Git Bash的默认bashrc文件的解决方案。 - kuatroka

3
在您的主目录中,如果您使用的是Git for Windows 2.21.0或更高版本(截至撰写本文),则应编辑 .bash_profile。 您可以将.bash_profile直接指向.bashrc,但是如果您的.bash_profile出了问题,则不清楚为什么.bashrc再次无法工作。 我将所有别名和其他环境设置都放在.bash_profile中,并添加了以下行:
echo "Sourcing ~/.bash_profile - this version of Git Bash doesn't use .bashrc"

然后,在.bashrc文件中我有以下内容

echo "This version of Git Bash doesn't use .bashrc. Use .bash_profile instead"

(在@harsel的回答基础上进行拓展。我想评论,但我还没有积分。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接