从已推送的合并分支中恢复特定提交
Posted
技术标签:
【中文标题】从已推送的合并分支中恢复特定提交【英文标题】:Revert a specific commit from a merged branch that has already been pushed 【发布时间】:2017-02-26 04:39:55 【问题描述】:我正在阅读下面的帖子,我有一个问题希望有人知道答案。
How to revert a merge commit that's already pushed to remote branch?
所以我知道我可以通过在 git revert -m 命令中指定其父分支来完全恢复我的 master 的合并提交。我的问题是我可以从合并的分支而不是整个分支恢复单个提交。
例如,我从 master 分支到 feature_1 分支。我在 feature_1 分支上做了 14 次提交,然后合并回我的 master,然后我推送。
我将如何从 master 中删除合并分支的 commit 7,同时将其他 13 个留在 master 中。希望它是可能的,并提前感谢任何回复或 cmets。
【问题讨论】:
***.com/q/2318777/4286990 的可能副本。 感谢 vatsal,我假设恢复合并中的提交比恢复正常提交更难,因为恢复合并时需要 -m 选项。原来我错了。再次感谢 【参考方案1】:第 1 步:确定您要恢复的提交的 <sha1>
。
第 2 步:在 master 分支上执行此操作:
$ git revert <sha1>
这将创建一个新的提交,该提交还原由<sha1>
标识的提交。
【讨论】:
哇,我感觉很愚蠢,我只是假设因为它是合并的一部分,我需要考虑到这一点。很抱歉提出这么愚蠢的问题。以上是关于从已推送的合并分支中恢复特定提交的主要内容,如果未能解决你的问题,请参考以下文章