-
A1. 附录 A: 在其它环境中使用 Git
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 Git 在 PowerShell 中使用 Git
- A1.9 总结
-
A2. 附录 B: 在你的应用中嵌入 Git
- A2.1 命令行 Git 方式
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. 附录 C: Git 命令
A1.7 附录 A: 在其它环境中使用 Git - Zsh 中的 Git
Zsh 中的 Git
Zsh 还为 Git 提供了一个 Tab 补全库。
想要使用它,只需在你的 .zshrc
中执行 autoload -Uz compinit && compinit
即可。
相对于 Bash,Zsh 的接口更加强大:
$ git che<Tab>
check-attr -- 显示 gitattributes 信息
check-ref-format -- 检查引用名称是否符合规范
checkout -- 从工作区中检出分支或路径
checkout-index -- 从暂存区拷贝文件至工作目录
cherry -- 查找没有被合并至上游的提交
cherry-pick -- 从一些已存在的提交中应用更改
有歧义的 Tab 补全不仅会被列出,它们还会有帮助性的描述,你可以通过不断敲击 Tab 以图形方式浏览补全列表。 该功能可用于 Git 命令、它们的参数和在仓库中内容的名称(例如 refs 和 remotes),还有文件名和其他所有 Zsh 知道如何去补全的项目。
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'
当你的命令行位于一个 Git 仓库目录时,在任何时候,都可以在命令行窗口右侧显示当前分支。
(当然也可以在左侧显示,只需把上面 PROMPT
的注释去掉即可。)
它看起来像这样:
zsh
提示符.关于 vcs_info
的更多信息,可参见 zshcontrib(1)
手册页面中对应的文档,或访问 http://zsh.sourceforge.net/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/robbyrussell/oh-my-zsh 找到它。 oh-my-zsh 的扩展系统包含强大的 Git Tab 补全功能,且许多提示符 "主题" 可以展示版本控制数据。 一个 oh-my-zsh 主题的示例. 只是可以其中一个可以通过该系统实现的例子。