-
A1. 附录 A:Git 在其他环境中的使用
- A1.1 图形界面
- A1.2 Git 在 Visual Studio 中的使用
- A1.3 Git 在 Visual Studio Code 中的使用
- A1.4 Git 在 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的使用
- A1.5 Git 在 Sublime Text 中的使用
- A1.6 Git 在 Bash 中的使用
- A1.7 Git 在 Zsh 中的使用
- A1.8 Git 在 PowerShell 中的使用
- A1.9 总结
-
A2. 附录 B:将 Git 嵌入你的应用程序
-
A3. 附录 C:Git 命令
A1.7 附录 A:Git 在其他环境中的使用 - Git 在 Zsh 中
Git 在 Zsh 中
Zsh 也自带了一个用于 Git 的 Tab 自动补全库。要使用它,只需在你的 .zshrc
中运行 autoload -Uz compinit && compinit
即可。Zsh 的界面比 Bash 的功能更强大。
$ git che<tab>
check-attr -- display gitattributes information
check-ref-format -- ensure that a reference name is well formed
checkout -- checkout branch or paths to working tree
checkout-index -- copy files from index to working directory
cherry -- find commits not merged upstream
cherry-pick -- apply changes introduced by some existing commits
模棱两可的 Tab 自动补全结果不仅仅是列出;它们还有有用的描述,并且你可以通过重复按下 Tab 键以图形方式浏览列表。这适用于 Git 命令、它们的命令参数以及仓库内的事物名称(如引用和远程仓库),以及文件名和 Zsh 知道如何进行 Tab 自动补全的所有其他事物。
Zsh 带有一个用于从版本控制系统获取信息的框架,称为 vcs_info
。要在提示符的右侧包含分支名称,请将以下几行添加到你的 ~/.zshrc
文件中
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='${vcs_info_msg_0_}'
# PROMPT='${vcs_info_msg_0_}%# '
zstyle ':vcs_info:git:*' formats '%b'
这会在你的 shell 位于 Git 仓库内时,在终端窗口的右侧显示当前分支。当然,左侧也支持;只需取消对 PROMPT
的赋值注释即可。它看起来有点像这样
zsh
提示符有关 vcs_info
的更多信息,请查看其在 zshcontrib(1)
手册页中的文档,或在线访问 https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Version-Control-Information。
除了 vcs_info
之外,你可能更喜欢 Git 自带的提示符自定义脚本 git-prompt.sh
;有关详细信息,请参阅 https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh。git-prompt.sh
与 Bash 和 Zsh 都兼容。
Zsh 非常强大,因此有专门的整个框架致力于使其变得更好。其中一个叫做“oh-my-zsh”,可以在 https://github.com/ohmyzsh/ohmyzsh 找到。oh-my-zsh 的插件系统带有强大的 Git Tab 自动补全功能,并且它有多种提示符“主题”,其中许多显示版本控制数据。 oh-my-zsh 主题示例 只是此系统可以完成的操作的一个示例。