如何“撤销”一个git提交,同时保留其他所有提交
如何撤销一个Git提交,同时保留其他所有提交
问题的原因:我想撤销一个Git提交,但是想要保留其他所有的提交。
解决方法:执行一个交互式的rebase操作,然后从列表中删除不想要的提交。
具体步骤如下:
1. 执行以下命令:
$ 'git rebase -i HEAD~4'
这将打开一个交互式的rebase编辑器。
2. 在编辑器中,你将看到一个包含所有提交的列表。
3. 删除你想要撤销的提交所在的行。
4. 保存并关闭编辑器。
这样,你就成功地撤销了一个Git提交,同时保留了其他所有的提交。
如何“撤销”一个git提交而保留其他所有提交的问题是因为使用git-rebase命令过于繁琐,而且会丢失历史记录。解决方法是使用git revert命令。
具体操作如下:
1. 使用以下命令撤销提交:$ git revert <commit 2的哈希值>
2. 这样你的提交历史将显示你先前提交了一个功能,然后又撤销了它。
然而,当尝试撤销一个合并提交时,哈希值不起作用,它要求一个数值,但我不确定是什么数值......
当尝试撤销一个合并提交时,你需要告诉git revert基于哪个父提交来评估补丁。如果你想撤销合并进来的更改,你需要使用git revert -m 1 <commit 2的哈希值>
命令。
我建议查看git revert的文档。