基本上我使用Github还原按钮将功能分支的先前PR恢复为master,然后我决定合并我之前恢复的相同功能分支,但我无法这样做.步骤如下:
mastermaster)恢复PR合并master再次合并功能分支.没有什么可比的.
master是来自feature-branch的所有提交的最新版本.尝试切换底座以进行比较.
有关如何将功能分支再次合并到的任何建议master
Sha*_*era 43
我写这个答案是因为我遇到了这个问题,我发现这里的答案更具理论性而不是实践性。我多浏览了一点,找到了解决这个问题的方法。您可以在此处的文章中找到更详细的答案。
为了解决这个问题,你必须创建一个新的分支来跟踪 master 并恢复 revert commit。然后结帐到功能分支并合并新分支。现在你可以解决冲突(如果有的话),提交并创建一个新的 PR。
以下是命令:
# do the needed changes in the feature branch
$ git commit -m "fixed issues in feature-branch'
# create new branch tracking master branch
$ git checkout -b revert-the-revert-branch -t master
# revert the reversion commit
# find it from your git log
# in linux try: 'git log | grep revert -A 5 -B 5'
$ git revert <revert-commit-hash>
# checkout the original feature branch
$ git checkout feature-branch
# merge the revert branch
$ git merge revert-the-revert-branch
# handle merge conflicts and commit and PR
Run Code Online (Sandbox Code Playgroud)
小智 33
只需恢复还原.因此,通过单击还原按钮,您将创建一个新PR(您的步骤2).合并后,您可以选择还原它,这将创建一个包含所有更改的新分支.然后您可以将其拉出,对其进行更改(如果需要)并创建新的PR.您将丢失Github上的所有提交消息,但所有文件更改仍将存在.很高兴参考你的原始分支并在新PR中恢复.
任何可以避免复杂的变形或强迫推动掌握的东西.
小智 6
我知道这很旧,但如果有人需要一个好的答案,请点击此处:
在合并 PR 并删除分支并稍后还原此合并后,您可以创建一个新分支,然后还原还原。将其推送到远程仓库并创建一个新的 PR。
这将创建一个新的 PR,其中包含一个名为“revert "revert #123 blabla"”的提交,其中包含您对 diff 的所有更改。
https://www.tildedave.com/2012/11/24/reverting-a-github-pull-request.html
git log --oneline。在这里搜索为 PR 所做的提交并复制提交哈希代码。git cherry-pick YOUR_HASH_CODE。这将使特定的承诺成为首要任务。