git - 撤消 git merge 几个之前的提交

标签 git merge

我有一个功能分支,我们称之为“myfeature”,我一直在研究它。客户希望我把它放在测试站点上,所以我将它 merge 到“staging”分支并推送到原点。从那时起,我在“staging”分支上进行了多次提交。今天,客户决定不再需要“myfeature”。

如何撤消我之前多次提交的 merge ?我仍然有“myfeature”分支。我基本上想获取该分支中的所有更改,并将它们从“staging”分支中 pull 出,并保存“newfeature”以供下次使用。

最佳答案

您可以使用git revert来恢复 merge ,但您必须指定(通过-m选项)您想要的 merge 提交的父编号恢复。假设您有这样的历史:

c1--c2----------c5--c6--c7
     \--c3--c4--/

merge 提交是c5。您可以通过以下方式恢复 merge :

$ git merge -m 1 c5

通常主分支是第一个父分支,因此-m 1通常有效。

提供更多信息 here .

关于git - 撤消 git merge 几个之前的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491072/

相关文章:

git - 位桶 CRLF 问题?

git - 我如何判断给定的 git 标签是带注释的还是轻量级的?

GIT 新手 : how to check what has been changed in my case?

python - 加入后续列表元素 - Python

java - 在 Web 应用程序 java 中将多个 pdf 文件合并为一个 pdf 文件

MySQL - 合并两个表 - 有条件

git - 使用 ssh 连接到实时服务器并将我的 git 推送到其中

git - 如何查询 TFS 2013 API 以获取团队项目集合中的 git 存储库?

php - 设置PHP项目自动GIT部署

c++ - 合并应用程序资源 - mac