在git倉庫中新建了一個倉庫,想要把本地的項目傳上去
在項目中:
git init
git add .
git commit "提交說明"
連接遠程主機:
git remote add origin 遠程倉庫地址
push到遠程倉庫:
git push origin master
MacBook-Pro:~/go/src/demo/open$ git push -u origin master
To codehub.devcloud.huaweicloud.com:t00001/open.git
! [rejected] master -> master (non-fast-forward)
error: 推送一些引用到 'git@codehub.devcloud:Openxt00001/open.git' 失敗
提示:更新被拒絕,因為您當前分支的最新提交落后於其對應的遠程分支。
提示:再次推送前,先與遠程變更合並(如 'git pull ...')。詳見
提示:'git push --help' 中的 'Note about fast-forwards' 小節。
提示先拉取更新
MacBook-Pro:~/go/src/demo/open$ git pull origin master
來自 codehub.devcloud.enxt00001/open
* branch master -> FETCH_HEAD
fatal: 拒絕合並無關的歷史
解決方法:
在拉取時使用以下命令:
git pull origin master --allow-unrelated-histories
對此,官方解釋如下:
By default, git merge command refuses to merge histories that do not share a common ancestor. This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable this by default exists and will not be added.
默認情況下,git合並命令拒絕合並沒有共同祖先的歷史。當兩個項目的歷史獨立地開始時,這個選項可以被用來覆蓋這個安全。由於這是一個非常少見的情況,因此沒有默認存在的配置變量,也不會添加。(有道翻譯)
之后在執行:
git push origin master