2014-09-12 126 views
0

我有我的分支,例如foo,這也是來源。我是唯一一個編碼到這個分支的人。與此同時,主人改變了,我需要拉動這些改變,然後對我的分支進行一些更改並推送它。所以我繼續:重新啓動master無法推送--force

git checkout foo 
get rebase master 
git commit ... 
git push origin foo 

除了這失敗,因爲它不是一個快進。我通常會做--force,但我們不允許在這裏。如果我拉origin/foo然後我得到一堆衝突,這與master更改或foo我的新更改有關。

沒有--force的單獨分支的正確工作流程是什麼?

+0

我會刪除'origin'上的'foo'並再次推送它,或者創建一個'foo-new' – CharlesB 2014-09-12 15:19:47

回答

2

您可以使用merge masterfoo而不是rebase它在master

  1. git的結帳富
  2. 的git拉出身富
  3. 混帳合併主

解決衝突,提交一些變化等等... 然後你可以pushorigin--force

  1. git push origin foo

與您的分支您完成後,如果要合併到你要合併的foo分支master穩定分支:

  • git的結帳主
  • 混帳合併富
  • 混帳推起源主

  • foo: 0-----0--------(step2)---(step3)------0----0 
              /     \ 
    master: 0-------0------------0---------------------(step6)