我们正在使用git工作流程和一个用于集成的开发分支和用于各个功能的功能分支。
通过以下方式创建了一个功能分支:
git fetch
git checkout -b new-branch origin/develop
(开发是我们的工作集成分支)
在新分支上工作,当准备好创建拉回请求回到开发并在github上创建一个pull请求并合并。
没有合并冲突,现在我们的功能分支仍处于开发
不得不做另一个拉动请求调整代码
在sprint结束时,我们通过github将new-branch恢复为develop - 使用pull请求页面上的revert按钮。
当我们尝试恢复第二个拉取请求时,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并删除revert,正如我们所理解的那样,有两种不同的方法可以实现。
在我们分叉新分支并运行
之前找出提交git rebase -i --no-ff commit
这些允许我们将新分支重新引入我们的开发分支。
答案 0 :(得分:0)
如果您在发布分支上拥有所需的所有代码,则应该:
如果它具有您需要的所有更改并在该分支上工作的那个分支
合并它以开发然后分支开发如果有想要保留的开发代码
然后你可以删除旧分支
我想要删除恢复的提交,不要。通常,删除或更改git中的提交历史记录被认为是一个坏主意https://sethrobertson.github.io/GitBestPractices/#pubonce
最后Git Choose Your Own Adventure是一个用于修复git follies的惊人资源......