【发布时间】:2015-06-17 21:45:56
【问题描述】:
我们正在使用 git 工作流程,其中包含用于集成的开发分支和用于单个功能的功能分支。
-
通过以下方式创建功能分支:
git fetch git checkout -b new-branch origin/develop
(develop 是我们的工作集成分支)
-
在新分支上工作,并在准备好创建拉取请求后返回到开发中,并在 github 上创建拉取请求并合并。
没有合并冲突,现在我们的功能分支仍在开发中
不得不再做一次拉取请求来调整代码
在 sprint 结束时,我们通过 github 将新分支从开发中恢复 - 使用拉取请求页面上的恢复按钮。
-
当我们尝试恢复第二个拉取请求时,github 无法执行此操作,因此我们通过以下方式手动恢复了此提交:
git checkout develop git fetch git merge --ff-only origin/develop git revert -m 1 commit ##the commit that was the pull request git push 当我们执行上述步骤时,我们(意外地)遇到了合并冲突;我们解决了;现在耶! new-branch 不再开发,我们的提交已恢复。
-
现在我们已经发布了,我们希望继续处理 new-branch 并删除 revert,据我们了解,有两种不同的方法可以做到这一点。
- 恢复删除拉取请求的提交
-
在我们创建新分支之前找出提交并运行
git rebase -i --no-ff commit
这些都允许我们将 new-branch 重新引入我们的开发分支。
【问题讨论】:
-
重新拉请求吗?还是还原还原提交?
标签: git merge continuous-integration git-flow revert