繁体   English   中英

如何在不影响以后提交的情况下恢复旧的 Git 提交?

[英]How to revert an old Git commit without impacting the later commits?

我想在 GIT 中特定分支上的一系列提交中还原较旧的提交,而不会影响以后的更改。 即我只希望作为特定提交(较早)的一部分推送的更改进行,保持稍后完成的更改完整无缺。

另外,如果此分支稍后与另一个分支合并,情况会如何变化?

我可以试试这个,但不确定它是否有帮助。

git revert <CommitId>

git revert <commitXYZ>将在当前分支的顶部创建一个新提交,包含与<commitXYZ>引入的更改相反的更改。 如果原始(错误)提交添加了一行,则还原提交将删除该行。

假设B'是执行git revert B时创建的提交:

A --- B --- C --- D --- B'

这里 A, B, C 和 D 提交将保持不变(是的,甚至B )。 来自 B 的更改将不再出现在 B' 状态,但提交 B 仍在历史记录中。

我今天实际上必须这样做。 您必须找到旧的提交并使用代码编辑器手动删除您的更改(我使用 Notepad++)。 然后将提交标记为还原 (REVERT:) 并创建拉取请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM