記錄一次失敗的向git提交程式碼,和解決的方法。(首次建立倉庫)
阿新 • • 發佈:2018-12-17
背景:
向git push程式碼(建立一個新的倉庫)
做法:
在github建立一個新的倉庫------>本地新建資料夾------->依次執行了下面的命令
git init
git clone
git checkout -b master
放到資料夾中程式碼
git add .
git commit -m ""
git pull origin master:master(冒號兩遍不能有空格)
git push
看似沒有問題。
但是push會報錯:
fatal: refusing to merge unrelated histories
那麼執行下面命令:
$ git pull origin master --allow-unrelated-histories
結果:
From github.com:mangoyi/vue-elme
* branch master -> FETCH_HEAD
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
看著像是readme.me有衝突
這個配置導致,在建立倉庫的時候就自動建立了readme
可以解決衝突,也可以往下看。
tip:
$ git push origin
上面命令表示,將當前分支推送到origin主機的對應分支。 如果當前分支只有一個追蹤分支,那麼主機名都可以省略。
$ git push -u origin master
如果當前分支與多個主機存在追蹤關係,那麼這個時候-u選項會指定一個預設主機,這樣後面就可以不加任何引數使用git push。
$ git push -u origin master
上面命令將本地的master分支推送到origin主機,同時指定origin為預設主機,後面就可以不加任何引數使用git push了。
不帶任何引數的git push,預設只推送當前分支,這叫做simple方式。此外,還有一種matching方式,會推送所有有對應的遠端分支的本地分支。Git 2.0版本之前,預設採用matching方法,現在改為預設採用simple方式。
git push -f(不是自己一個人用的倉庫別這麼玩。)
push --force縮寫
將本地的程式碼推送到遠端,並覆蓋。
所以可以強制推送並覆蓋
git pull –f –all
git push –u origin master –f
前人種樹:
https://blog.csdn.net/mangoyiy/article/details/75271758
https://www.jianshu.com/p/b03bb5f75250