2016-02-03 61 views
1

我有一個本地主分支,在嘗試了一些東西之後,決定回去提交X,就像之前的4個提交,然後我創建一個新的分支「master2」,現在我的主要科。 當我嘗試做一個新的推(我github上)我不同的分支,它拋出一個錯誤。Git推一個不同的分支到github

git push -u origin master2 
! [rejected]  master2 -> master2 (non-fast-forward) 

我該如何推動github這個新的分支?

+0

什麼是Github上的現狀如何?分支是否存在?它是什麼提交? – Joost

回答

1

我不知道如果我完全理解你的問題,但是,非快速向前推動(這是你的情況下),可以通過添加-f開關(力)推命令來解決:

git push -fu origin master2 

(但是,使用在如Github上力推被認爲是一件壞事做,有一個理由:你可以搞砸了別人的倉庫,所以你應該這樣做只有當你確定沒有人獲取的與master2分支指向任何資源庫是forcepush

+2

但是,你可能不應該那樣做。 – SLaks

+0

它的工作..非常感謝。 – LearningCharlito

0

「非快進」的錯誤告訴前)你認爲master2分支已經存在於你的GitHub倉庫中。我建議你檢查這個分支上有什麼提交。你有兩個選擇:

  1. 與合併的master2 GitHub的版本當地一個:

    git pull origin master2 
    

    如果運行沒有任何衝突,那麼你可以簡單地推:

    git push origin master2 
    

    如果有與第一命令衝突,那麼你需要解決衝突並提交更改:

    git commit 
    

    然後你就可以像以前一樣推動。

  2. 你也可以覆蓋現有master2分支:

    混帳推-f起源master2

    警告:非常小心這樣做,不過,因爲它會導致任何人頭痛誰已經拉扯了master2分支併合並或提交給它。