2016-10-21 2 views
0

Я успешно объединил PR в master. Когда я проверяю master в GitHub, изменения не отображаются, но GitHub говорит, что слияние в master прошло успешно.Успешное слияние git в мастер не показывает никаких изменений на GitHub или после git pull от ведущей ветки

Я пытаюсь получить содержание (в этой точке) любой из этих ветвей в мастер: new_react_in_nav_bar_branch, revert-16-add_react_to_nav_bar или add_react_to_nav_bar (в идеале, первый из этих трех). Я сделал огромный беспорядок вещей.

The repo can be found here.

Это выход 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 
+0

Возможный дубликат [Повторное повторное слияние в Git] (http://stackoverflow.com/questions/1078146/re-doing-a-reverted-merge-in-git) –

ответ

0

Эта ситуация возникла из-за вас:

  1. Merged add_react_to_nav_bar в master.
  2. Отклонено, что слияние в фиксации 390c5e1. В будущем попытайтесь избежать возврата слияния, см. Ниже.
  3. Объединенный new_react_in_nav_bar_branch, который основан на add_react_to_nav_bar, в master.

Как объяснено в the Git docs, возвращаясь слияние Отменяет изменения, но это не меняет историю, поэтому Git все еще видит, что первоначальное слияние произошло. Таким образом, Git игнорирует любые изменения до этого слияния, поскольку эти изменения уже были объединены один раз.

Чтобы обойти эту проблему, как объяснено в Re-doing a reverted merge in Git, вы должны вернуться к Revert (в данном случае 390c5e1 ли:.

git revert 390c5e1 

(Если вы хотите, вы можете создать новую ветку сначала, и представить эта ветка как PR.)

В будущем вместо того, чтобы возвращать слияние, если возможно, попытайтесь найти конкретную ошибку, которая является неисправной (git bisect может быть здесь полезной) и верните это. Если у вас нет выбора, кроме для возврата слияния, вы можете использовать вышеуказанное решение.

+0

Я не мог показаться получите это, чтобы работать. Я решил эту проблему, но это было довольно уродливое решение. –

+0

@ n.milsht Что произошло, когда вы попробовали мое решение? Как вы решили проблему? Для последнего, не стесняйтесь [self-answer] (// stackoverflow.com/help/self-answer) ваш вопрос. –

0

Я точно не решил это так, как работать вокруг него довольно небрежно. Изменения, которые я хотел зафиксировать, не были обширными, поэтому я отделился от мастера и просто скопировал изменения, которые я хотел зафиксировать в этой новой ветке. Не совсем решение, но я не мог больше тратить время на проблему.

Смежные вопросы