參考文章:
如何將本地項目上傳到碼雲
GIT遠程倉庫地址變更
! [rejected] master -> master (non-fast-forward)(有推薦視頻)
在使用Git 配置公司的遠程倉庫時git push origin master
,出現以下問題
xu:QProj xiaokai$ git push origin master
To https://gitee.com/XXXXX.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/XXXXX.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
從提示語中可以看出是,問題(Non-fast-forward)的出現原因在於:git倉庫中已經有一部分代碼,所以它不允許你直接把你的代碼覆蓋上去。於是你有2個選擇方式:
1、強推,即利用強覆蓋方式用你本地的代碼替代git倉庫內的內容,如果遠程倉庫是剛建的,沒有代碼,可以這樣操作,儘量避免這種操作方法。
git push -f
- 1
2、先把git的東西fetch到你本地然後merge後再push
$ git fetch
- 1
$ git merge
- 1
3、在使用的時候,git merge
,又出現了以下的問題
xu:QProj xiaokai$ git merge
fatal: refusing to merge unrelated histories
- 1
- 2
- 3
對於這個問題。使用git pull origin master --allow-unrelated-histories
來處理一下。
4、然後繼續git merge
,依然有問題
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
- 1
- 2
- 3
這個就好處理了,是我們沒有提交當前的變化, git add .
,git commit -am "提交信息"
然後再來一次git merge
,然後ok.
5、然後輸入git pull
,顯示如下
Already up-to-date.
- 1
- 2
最後就可以執行xu:QProj xiaokai$ git push origin master
將代碼上傳到公司的遠程倉庫中。
xu:QProj xiaokai$ git push origin master
Counting objects: 693, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (636/636), done.
Writing objects: 100% (693/693), 2.83 MiB | 570.00 KiB/s, done.
Total 693 (delta 362), reused 0 (delta 0)
remote: Resolving deltas: 100% (362/362), completed with 1 local object.
remote: Powered by Gitee.com
To https://gitee.com/XXXXX.git
83902a5..8100890 master -> master
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
上傳完成。