巴扎黑2017-05-02 09:36:26
這個產生的原因,就是你本地程式碼在開發過程中,遠端程式碼更新了。
很簡單,你需要做的只是把程式碼rebase一下。
做以下操作前,先檢查一下你本地的remote的指向。如果你是fork的,應該會又一個指向你自己github的origin。你需要先加入指向原始碼的remote。這樣做:git remote add upstream *URL*
其中URL是原始碼的位址。
接著取得遠端程式碼的最新HEAD指標(其實這個指令不只用來取得upstream,同時也取得了origin的):git fetch --all
git fetch --all
然后确保你是在working branch上,运行git rebase upstream/master
然後確保你是在working branch上,執行git rebase upstream/master
這個時候會出現conflicts,一般是你本地與遠端同時修改了某個文件,git不知道該用哪個。用git status
查看哪些文件出了问题,做一下更改就好。然后git add .
,git rebase --continue
。
修改完之後,git push
到你的origin working branch,有可能需要git push -f
。特别是当你用了git rebase -i
的時候,這個指令可以squash commit。
習慣沉默2017-05-02 09:36:26
我在自己fork出來的倉庫中新建分支開發,那麼我pull 下來的程式碼是沒有衝突的,但是我的程式碼不是最新的,當我和最主要的程式碼庫比較pull request的時候,就進去不了,