[英]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.