在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
在git重新启动/开发过程中,git显示以下错误消息:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。它在以前的版本中运行良好。
我如何才能继续使用新版本中引入的强制标志来允许不相关的历史?
当前回答
我在第一次设置本地存储库时遇到了这个错误。然后我去了GitHub并创建了一个新的存储库。然后我跑了
git remote add origin <repository url>
当我尝试推或拉时,我每次都会遇到同样的致命错误:unlated_histories错误。
以下是我修复它的方法:
git pull origin master --allow-unrelated-histories
git merge origin origin/master
... add and commit here...
git push origin master
其他回答
我尝试了git pull——允许不相关的历史记录,但它没有奏效,但这为我解决了问题:
我将桌面存储库中的所有文件复制到另一个文件夹,然后删除该文件夹。然后我再次克隆存储库,因为它是一个新项目。当我再次复制我的文件并将其推送时,它就像魅力一样发挥作用。
首先,使用以下命令将远程更改拉到本地:
git pull origin branchname --allow-unrelated-histories
**在我的情况下,branchname是master。
当执行pull命令时,会发生冲突。你应该解决冲突。我使用Android Studio解决冲突。
当冲突解决后,合并就完成了!
现在你可以安全地推了。
我也有同样的问题。问题很遥远,有一些东西阻止了这一点。
我首先创建了一个本地存储库。我将LICENSE和README.md文件添加到本地并提交。
然后我想要一个远程存储库,所以我在GitHub上创建了一个。在这里,我错误地选中了“用README初始化这个存储库”,这也在远程创建了一个README.md。
所以现在当我跑步时
git push --set-upstream origin master
我得到了:
error: failed to push some refs to 'https://github.com/lokeshub/myTODs.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.
现在为了克服这一点,我做到了
git pull origin master
导致以下错误:
From https://github.com/lokeshub/myTODs
branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories**
我尝试了:
git pull origin master --allow-unrelated-histories
结果:
From https://github.com/lokeshub/myTODs
* 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才能起作用),之后,以下操作奏效:
git remote rm origin
git remote add origin https://github.com/lokeshub/myTODOs.git
git push --set-upstream origin master
我也很挣扎,但我设法找到了解决办法。
当您遇到上面的错误时,只需选择合并提交,然后继续重新启动:
git cherry-pick -m 1 1234deadbeef1234deadbeef
git rebase --continue
警告:这可能会覆盖远程存储库
这对我有用:
git push origin master --force