解决Git中的fatal: refusing to merge unrelated histories
創建了一個全新的項目,在開發分支開發完成后,但是在進行Merge Request的時候出現如下問題:
要求我進行rebase,我想是因為遠程項目的RELEASE(直接從master創建的分支,所有的代碼往RELEASE合),master分支包含有創建項目時生成的README.md,而本地倉庫是先通過maven archetype生成基本模板再進行開發的,并沒有對應的文件,所以才會在執行MR的時候出現需要rebase的情形。故想要直接在本地分支合并RELEASE的內容
接著出現了如下錯誤提示:fatal: refusing to merge unrelated histories
出現這個問題的最主要原因還是在于Git將本地倉庫和遠程倉庫看作了兩個獨立的倉庫,他們之間還沒有完全建立聯系。因為之前建新項目的時候我是先在本地通過進行開發,之后才在GitLab上創建了新項目。
如果之前直接使用clone的方式在本地建立Gitlab倉庫的本地倉庫就不會有這問題了。
查閱資料后發現可以在命令后使用--allow-unrelated-histories 來解決這個問題,從語義上看就是允許操作不相關的歷史
 我這里使用的是merge命令,故只需要執行git merge RELEASE?--allow-unrelated-histories 就好
如果你使用的是git pull或者git push報fatal: refusing to merge unrelated histories
 同理,使用如下命令即可:
 git pull/push origin [branchName]? --allow-unrelated-histories
總結
以上是生活随笔為你收集整理的解决Git中的fatal: refusing to merge unrelated histories的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: tomcat源码运行
- 下一篇: TeamCity和GitLab整合
