Git revert 进入 VIM 编辑器

罗宾

我将一个分支合并到另一个分支,但现在我想恢复我刚刚推送到 repo 的合并,因此我执行了以下操作:

git revert -m 1 <log hash>

但这会打开给我带来问题的 VIM 提交消息编辑器。当 VIM 编辑器打开时,它告诉我放置提交信息,所以我所做的是

  1. i键插入
  2. 像这样写我的提交信息--> RM000: Reverting merge
  3. 退出了 :x

然而,当我推送我的更改时,我收到一个提交消息正则表达式错误,因为我们有一个关于提交消息应该如何的约定,所以当我i在第一步中输入并在第二步中编写我的提交消息时,它没有接受我的提交消息正确。


我的问题是,如何在不弹出 VIM 的情况下执行提交消息?即在我使用后我git revert -m 1 <log hash>想做git commit -m "RM:000 Reverted"但一旦我使用git revert它会自动打开 VIM 编辑器。

马克·阿德尔斯伯格

嗯...评论对话可能已经为用户提供了解决方案,但问题没有得到回答,对话提出了更多问题,所以这里有一些事情:


首先,如果你想在命令行上输入提交信息进行还原,你可以说

git revert -n -m 1 <hash>
git commit -m "RM:000 Reverted"

添加-n选项告诉revert不要自动提交。意味着如果您一次还原多个提交,撤消更改将合并到索引中,因此当您手动提交时,它们将全部压缩在一起。也许这就是你想要的,也许不是;在这种情况下,它只是一次提交,所以没关系。


也就是说,您可能想要更熟悉vi编辑器,或者更改您的 git 配置以使用您更熟悉的编辑器。您可以设置core.editor配置值或环境变量GIT_EDITOR以指定git在需要向您显示编辑器时运行的命令


最后,正如评论中所指出的,撤消已推送的合并是一件非常困难的事情;每个解决方案都会产生负面影响。

您可以恢复提交,就像您尝试做的那样。这在很多方面都很好,但它让 git 认为分支已经合并并考虑在内,即使它的更改已被撤消。所以如果你以后想要它,你必须做两件事之一:

1)您可以“还原还原”

2)rebase -f合并前可以在分支上做一个这会导致分支从 git 认为“已经考虑”的新提交中重建。

您可以在众多文章和 SO 答案中阅读有关这些技术的更多信息。

另一个选项是用于git reset从分支历史记录中删除合并。这具有在共享分支后重新定位分支的所有后果,因此请参阅git rebase“从上游重新定位恢复”下文档(或搜索有关强制推送的问题,因为其中许多会说明这一点)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Git rebase和Vim编辑器

来自分类Dev

Vi / Vim编辑器进入下一行而不是进入编辑器模式

来自分类Dev

如何使用vim作为“ git show”编辑器?

来自分类Dev

Git打开默认的git编辑器,而不是VIM或任何其他编辑器(Git Rebase)

来自分类Dev

git revert HEAD正在打开nano编辑器。如何避免这种情况?

来自分类Dev

在不打开编辑器的情况下将字符串追加到git revert commit消息

来自分类Dev

修复Vim编辑器

来自分类Dev

我如何使vim成为git notes的首选编辑器?

来自分类Dev

还原 Git 编辑器

来自分类Dev

无法在Vim编辑器中输入{}或@

来自分类Dev

在线学习Vim编辑器的课程

来自分类Dev

更改 Vim 编辑器设置?

来自分类Dev

Xamarin Forms中的滚动编辑器进入视图

来自分类Dev

如何滚动被键盘遮挡的编辑器进入视图?

来自分类Dev

图像未进入编辑器[PHP图像上传]

来自分类Dev

Atom编辑器中的Git怪

来自分类Dev

Git Commit Error终端与编辑器

来自分类Dev

Git 默认编辑器配置

来自分类Dev

Vim编辑器-Zsh Shell IPython Magic%ed找不到编辑器

来自分类Dev

Vim编辑器-Zsh Shell IPython Magic%ed找不到编辑器

来自分类Dev

使用Vim作为Matlab的默认编辑器

来自分类Dev

如何避免Vim错误消息“不是编辑器命令”

来自分类Dev

在vim中执行打开默认编辑器命令

来自分类Dev

VIM:chmod命令不是编辑器命令

来自分类Dev

为什么“ vi”命令打开“ vim”编辑器?

来自分类Dev

Vim编辑器:使用Alt + Return选择单词

来自分类Dev

Vim编辑器:使用“ z”作为引导键

来自分类Dev

如何在vim编辑器中添加命令?

来自分类Dev

在VIM编辑器中shiftwidth有什么作用

Related 相关文章

热门标签

归档