git - 快速切换版本

标签 git vim

假设我在 git 存储库下有一个文件 f.txt。此文件的初始版本包含一行,版本 2 包含 2 行,每个新版本都在先前版本的基础上添加一行,因此版本 10 包含 10 行。

现在,我在 vim 编辑器中打开文件 f.txt(第 5 版)。我想留在 vim 编辑器中,并有可能使用 git_nextgit_previous 之类的命令,并在版本之间快速切换,而不必知道提交编号,也不必离开 vim

gitvim有这样的可能吗?如果我可以键入类似 git_versions 的命令并且我可以从该文件的版本列表中进行选择并切换到所需的版本,这也会很有用。

最佳答案

您正在寻找Fugitive.vim Tim Pope 的插件。它可以帮助您执行许多 git 命令。

使用 fugitive.vim 你可以执行 :Glog 并且修改将被放入 quickfix 列表中。只需使用 :cnext:cprev 和 friend 在修订版之间移动。有一个很棒的截屏视频,Fugitive.vim - exploring the history of a git repository , 由 Drew Neil 撰写。我强烈建议观看所有 Vimcasts关于这个问题。

截屏视频中的 Drew 还展示了另一个名为 Unimpaired.vim 的 Tim Pope 插件.我强烈推荐它。它将提供一些很好的映射([q]q 等)以在 quickfix 列表中移动。

有关更多帮助,请参阅:

:h quickfix
:h :cnext

如果您安装了 Fugitive.vim,请参阅:

:h fugitive
:h fugitive-:Glog

关于git - 快速切换版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038243/

相关文章:

vim - 在 VIM 中使用 Uncrustify

vim - 如何检测 Vimscript 中是否存在特定文件?

git - 从 Git 分支获取最新信息

git - 将 Squashed 子树更改推送到 gerrit

linux - git 更改权限在下一次提交之前无法持续

regex - 使用 Vim 用另一个字符串替换所有 *非* 匹配的字符串

git - 对一个 git 存储库中的不同目录进行版本控制?

git - 从具有多个分支及其历史的 TFS 迁移到 GIT

python - Vim : "YouCompleteMe unavailable: This package should not be accessible on Python 3" 错误

vim - GoImports 取消 html 语法高亮