Git錯誤non-fast-forward后的沖突解決


Git錯誤non-fast-forward后的沖突解決
當要push代碼到git時,出現提示:

error:failed to push some refs to ...

Dealing with “non-fast-forward” errors
From time to time you may encounter this error while pushing:

問題(Non-fast-forward)的出現原因在於:git倉庫中已經有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。
於是你有2個選擇方式:
1,強推,即利用強覆蓋方式用你本地的代碼替代git倉庫內的內容
git push -f

2,先把git的東西fetch到你本地然后merge后再push
$ git fetch
$ git merge
這2句命令等價於
$ git pull
可是,這時候又出現了如下的問題:
上面出現的 [branch "master"]是需要明確(.git/config)如下的內容
[branch "master"]
remote = origin
merge = refs/heads/master
這等於告訴git2件事:
1,當你處於master branch, 默認的remote就是origin。
2,當你在master branch上使用git pull時,沒有指定remote和branch,那么git就會采用默認的remote(也就是origin)來merge在master branch上所有的改變

如果不想或者不會編輯config文件的話,可以在bush上輸入如下命令行:
$ git config branch.master.remote origin
$ git config branch.master.merge refs/heads/master
之后再重新git pull下。最后git push你的代碼就可以了。

window下cmd里面的命令:
F:\myproject>git config branch.master.remote origin
F:\myproject>git config branch.master.merge refs/heads/master

之后再重新git pull下。最后git push你的代碼就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM