2016-09-15 36 views
0

我有一個GitHub倉庫,它只有一個master分支,並且我推送了一堆代碼給它。然後,我在本地機器上創建了一個development分支(通過git checkout -b development)並將其推送(通過git push origin development),但未對其進行任何更改(除了創建該分支(即masterdevelopment現在相同))。在git/GitHub上合併多個主分支

另一名開發者進行應該創建fizzbuzz特性分支關閉development分支,而是創建它關閉的master(這是最新的)。她現在已將她的fizzbuzz分支推向GitHub。

最終我想要fizzbuzz合併到development,然後啓動CI構建和DEV部署。然後,稍後,我將合併developmentmaster

但我不認爲這是可能的,因爲她創建了master而不是developmentfizzbuzz。是嗎?如果不是,解決方案是什麼?有沒有辦法讓她「重新命名」fizzbuzz成爲development的分支(如果是的話,命令是什麼?)或其他替代方法?

回答

1

你幾乎回答了你自己的問題! git rebase development fizzbuzz將重新分配fizzbuzzdevelopment。如果你然後git push origin fizzbuzz --force,GitHub將更新基本分支。

+0

謝謝@kfb(+1) - 我想它會涉及一個'rebase',但我從來沒有必要使用它!如果你不介意,快速跟進的問題,只是爲了確認我明白:當你說「* ...將'fizzbuzz'變成'development' *'時,你的意思是它會像分支'development'一樣,首先?如果分支是相同的/乾淨的,這隻會起作用嗎?這意味着如果'development'有新代碼時(不小心)將'master'分支出去,那麼會發生什麼?再次感謝! – smeeb

+1

是的,它會像'fizzbuzz'一直從'development'分支出來。至於你的第二個問題,答案是「取決於」。 [這個鏈接](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)應該對一般的rebasing有一些瞭解,並且[this link](https://help.github。 com/articles/resolving-merge-conflicts-after-a-git-rebase /)會談到如果發生衝突會發生什麼。 – kfb

相關問題