2016-01-19 40 views
2

我分叉了一個外部存儲庫,其「主」分支被稱爲develop(而不是master),並在此develop上進行了多次提交科。
現在我想創建初始檔案庫的develop分支的一個新分支(而不是develop分支的一個我分叉和製作的),從而沒有我以前的從頭變化的工作,像這樣:git push origin [local-branch]嘗試推入遠程主分支,而不是創建一個新分支

  • git fetch upstream(獲取國外回購的最新副本)
  • git checkout -b "my-new-branch" upstream/develop(創建upstream/develop一個新的分支)
  • git push origin my-new-branch(推分支到我的遠程回購在github)

所以我創建了一個本地分支稱爲FIX-3894,但每當我使用了「git push origin my-new-branch」命令,我得到這樣的輸出:

! [rejected]  fix-3894 -> develop (non-fast-forward) 

基本上,而不是在遠程倉庫轉移這個地方新的分支,它試圖將其推入前面的開發分支,並自然面臨拒絕。我最終想要的是在我的遠程存儲庫上分支兩個分支,開發AND fix-3894。

我瞭解分支如何工作不正確?我一直在做很多搜索,但沒有找到任何符合我的情況。

回答

3

你可以做一個git branch -avv,看看是否有my-new-branch作爲origin/develop上游分支。這很奇怪,也許與origin refspec有關。

如果要強制上游分支,做:

git push -u origin my-new-branch:my-new-branch 
+0

迫使上游分支似乎已經做到了,謝謝你。 –