成功的git合并到master不会在GitHub上显示任何变化,也不会在git从master分支中拉出之后显示任何变化



我成功地将一个PR合并到master。当我在GitHub中检查master时,没有显示更改,但GitHub说合并到master成功。

我试图(在这一点上)得到任何这些分支的内容到主:new_react_in_nav_bar_branch, revert-16-add_react_to_nav_bar,或add_react_to_nav_bar(理想情况下,这三个中的第一个)。我把事情搞得一团糟。

可以在这里找到回购。

git log --all --oneline --decorate --graph的输出:

*   e824c42 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #19 from noahmilstein/new_react_in_nav_bar_branch
|
| * 8626d40 (origin/new_react_in_nav_bar_branch) fixed codeship build failure
| * 1ca3f73 added capybara webkit
* |   9ca1f50 Merge pull request #17 from noahmilstein/revert-16-add_react_to_nav_bar
| 
| * | 390c5e1 (origin/revert-16-add_react_to_nav_bar) Revert "Add react to nav bar"
|/ /
* |   81c87d1 Merge pull request #16 from noahmilstein/add_react_to_nav_bar
| 
| |/
| | * 8406ea5 (origin/add_react_to_nav_bar) added capybara webkit
| |/
| * a66de71 nav bar is now react
| * df8319c (origin/fix_tagging) WIP, waiting on SOF answer
|/
*   136e6ec Merge pull request #15 from noahmilstein/add_react

我并没有完全解决这个问题,而是以一种相当草率的方式解决它。我想要提交的更改并不广泛,所以我从master分支中分离出来,只是将我想要提交的更改复制到这个新分支中。不完全是解决方案,但我不能再在这个问题上浪费时间了。

出现这种情况是因为:

  1. add_react_to_nav_bar并入master .
  2. 在commit 390c5e1中恢复合并。在将来,尽量避免恢复合并,见下文。
  3. add_react_to_nav_bar的基础上,将new_react_in_nav_bar_branch合并为master

正如Git文档中解释的那样,恢复合并会恢复更改,但它不会更改历史记录,因此Git仍然会看到原始合并发生。因此,Git会忽略合并之前的任何更改,因为这些更改已经合并过一次了。

要解决这个问题,正如在Git中重新执行还原合并中所解释的那样,您必须还原还原(在本例中为390c5e1)。做的事:

git revert 390c5e1

(如果您愿意,您可以先创建一个新的分支,并将该分支作为PR提交)

在将来,如果可能的话,不要恢复合并,而是尝试找到有错误的特定提交(git bisect在这里可以有所帮助)并恢复它。如果您别无选择,只能恢复合并,那么您可以使用上述解决方案。

最新更新