git 本地倉庫與遠程倉庫的強制合併 refusing to merge unrelated histories

git 本地倉庫與遠程倉庫的強制合併

錯誤提示:
refusing to merge unrelated histories
The local repository is out of date

過程是這樣的git

今天在本地新建了一個 git 倉庫,並往裏添加了一些文件,也在本地提交了幾回。github

這時候再去 github 上新建了個倉庫,而後把 github倉庫添加到本地的倉庫中。bash

git remote add rime git@github.com:KyleBing/rime-wubi86-jidan.git

能夠看到已經添加了遠程倉庫:spa

clipboard.png

pull 遠程倉庫的內容:code

clipboard.png

而後執行上傳到 github 的時候出現下面錯誤:ip

clipboard.png

錯誤緣由

其實本地建的那個倉庫和遠程 github 倉庫是兩個獨立的倉庫,互不相關。
若是在建完 github 後再 git clone 到本地就不會出現該問題了。rem

解決辦法

git pull 有個 --allow-unrelated-histories 參數,是爲了合併兩個不相關的倉庫的歷史,這個能夠經過 git pull --h 查看幫助。it

由於咱們這兩個倉庫並無衝突,能夠直接合並:io

git pull rime master --allow-unrelated-histories

這時候出現填寫合併信息的窗口ast

clipboard.png

填寫保存後,結果顯示,合併成功。

clipboard.png

後續提交

# 提交更新到 github
kyle-mbp:Rime Kyle$ git push rime master

# 結果
Counting objects: 38, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (38/38), done.
Writing objects: 100% (38/38), 1.85 MiB | 305.00 KiB/s, done.
Total 38 (delta 20), reused 0 (delta 0)
remote: Resolving deltas: 100% (20/20), done.
To github.com:KyleBing/rime-wubi86-jidan.git
   27c22af..bf39b8c  master -> master

查看歷史記錄是這樣的,能夠看到本地 master 和遠程 master 已經合併在一塊兒了:

clipboard.png

clipboard.png

再看一下遠程倉庫的提交記錄,已經能看到本地的提交記錄了。

結決

相關文章
相關標籤/搜索