章节 ▾ 第二版

A1.6 附录 A: 在其他环境中运行 Git - 在 Bash 中使用 Git

在 Bash 中使用 Git

如果你是 Bash 用户,你可以利用你的 shell 的一些功能,让你的 Git 体验更加友好。 Git 实际上附带了几个 shell 的插件,但默认情况下并未开启。

首先,你需要从你正在使用的 Git 版本的源代码中获取一个补全文件副本。通过输入 git version 检查你的版本,然后使用 git checkout tags/vX.Y.Z,其中 vX.Y.Z 对应于你正在使用的 Git 版本。将 contrib/completion/git-completion.bash 文件复制到方便的位置,比如你的主目录,然后将此行添加到你的 .bashrc

. ~/git-completion.bash

完成后,将你的目录更改为 Git 仓库,然后输入

$ git chec<tab>

...然后 Bash 将自动补全为 git checkout。这适用于所有 Git 的子命令、命令行参数,以及在适当情况下的远程和引用名称。

自定义你的提示符以显示当前目录的 Git 仓库信息也很有用。这可以根据你的需要变得简单或复杂,但通常有几个关键信息是大多数人想要的,比如当前分支和工作目录的状态。要将这些添加到你的提示符中,只需将 contrib/completion/git-prompt.sh 文件从 Git 的源代码仓库复制到你的主目录,然后将类似这样的内容添加到你的 .bashrc

. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '

\w 表示打印当前工作目录,\$ 打印提示符的 $ 部分,而 __git_ps1 " (%s)" 调用 git-prompt.sh 提供的函数并带有一个格式化参数。现在,当你在任何 Git 控制的项目中时,你的 bash 提示符将看起来像这样

Customized `bash` prompt
图 184. 自定义的 bash 提示符

这两个脚本都附带有用的文档;请查看 git-completion.bashgit-prompt.sh 的内容以获取更多信息。