在git rebase origin/development期间,Git显示以下错误消息:
git rebase origin/development
fatal: refusing to merge unrelated histories Error redoing merge 1234deadbeef1234deadbeef
我的Git版本是2.9.0。在以前的版本中,它曾经运行得很好。
我如何使用新版本中引入的FORCED标志来允许不相关的历史记录?
6ovsh4lw1#
您可以使用--allow-unrelated-histories强制执行合并。
--allow-unrelated-histories
这背后的原因是,自Git 2.9以来,默认行为发生了变化:“Git Merge”用于在默认情况下允许合并两个没有公共基础的分支,这会导致创建现有项目的全新历史,然后被毫无戒心的维护者拉出,这允许将不必要的并行历史合并到现有项目中。该命令已被告知默认情况下不允许,并在合并独立启动的两个项目的历史的罕见情况下使用逃生通道--allow-unrelated-histories选项。
有关更多信息,请参阅Git版本更改日志。
更多信息可以在这个答案中找到。
2ledvvac2#
在我的例子中,每次尝试都会出现fatal: refusing to merge unrelated histories错误,特别是远程添加Git存储库后的第一个Pull请求。
fatal: refusing to merge unrelated histories
使用--allow-unrelated-histories标记以如下方式处理拉入请求:
git pull origin branchname --allow-unrelated-histories
git pull
git merge
vq8itlhq3#
尝试执行以下命令:
git pull origin master --allow-unrelated-histories
这应该可以解决你的问题。
nle07wnf4#
当我第一次设置本地存储库时,我收到了这个错误。然后我转到GitHub并创建了一个新的存储库。然后我跑了
git remote add origin <repository url>
当我尝试推或拉时,每次都得到相同的fatal: unrelated_histories错误。
fatal: unrelated_histories
以下是我如何修复它的:
git pull origin master --allow-unrelated-histories git merge origin origin/master ... add and commit here... git push origin master
v9tzhpje5#
为此,请输入以下命令:
例如,
参考资料:
GitHub无关历史记录问题
qlvxas9a6#
git pull origin <branch> --allow-unrelated-histories
您将被路由到Vim编辑窗口:
git push --set-upstream origin <branch>
zf9nrax17#
我运行了这个命令,问题得到了解决。
git pull origin branchName --allow-unrelated-histories
请查看此页面以了解更多信息。
jvidinwx8#
执行git pull origin master时遵循错误:
git pull origin master
# It could be master git pull origin master --allow-unrelated-histories # Or main git pull origin main --allow-unrelated-histories # Or just try with origin git pull origin main --allow-unrelated-histories
如果它打开一个Nano编辑器,你只需用CTRL + x保存并关闭即可
CTRL + x
git push
当两个不相关的项目合并时(即,不知道彼此的存在并且提交历史不匹配的项目),就会出现“致命:拒绝合并不相关的历史”Git错误。
--允许-无关-历史默认情况下,git merge命令拒绝合并不共享共同祖先的历史。合并独立启动的两个项目的历史时,此选项可用于覆盖此安全性。由于这是非常罕见的情况,默认情况下不存在启用此功能的配置变量,也不会添加此配置变量。
k3fezbri9#
我也有同样的问题。试试这个:
git pull origin master --allow-unrelated-histories git push origin master
7rtdyuoh10#
Android Studio和IntelliJ:
首先,承诺所有事情并解决任何冲突。
然后从IDE下方打开终端,输入:
现在你可以推了。
oaxa6hgo11#
试试git pull --rebase development
git pull --rebase development
11条答案
按热度按时间6ovsh4lw1#
您可以使用
--allow-unrelated-histories
强制执行合并。这背后的原因是,自Git 2.9以来,默认行为发生了变化:
“Git Merge”用于在默认情况下允许合并两个没有公共基础的分支,这会导致创建现有项目的全新历史,然后被毫无戒心的维护者拉出,这允许将不必要的并行历史合并到现有项目中。该命令已被告知默认情况下不允许,并在合并独立启动的两个项目的历史的罕见情况下使用逃生通道
--allow-unrelated-histories
选项。有关更多信息,请参阅Git版本更改日志。
更多信息可以在这个答案中找到。
2ledvvac2#
在我的例子中,每次尝试都会出现
fatal: refusing to merge unrelated histories
错误,特别是远程添加Git存储库后的第一个Pull请求。使用
--allow-unrelated-histories
标记以如下方式处理拉入请求:git pull
已被告知将--allow-unrelated-histories
选项传递给底层git merge
*vq8itlhq3#
尝试执行以下命令:
这应该可以解决你的问题。
nle07wnf4#
当我第一次设置本地存储库时,我收到了这个错误。然后我转到GitHub并创建了一个新的存储库。然后我跑了
当我尝试推或拉时,每次都得到相同的
fatal: unrelated_histories
错误。以下是我如何修复它的:
v9tzhpje5#
为此,请输入以下命令:
例如,
参考资料:
GitHub无关历史记录问题
qlvxas9a6#
您将被路由到Vim编辑窗口:
git push --set-upstream origin <branch>
zf9nrax17#
我运行了这个命令,问题得到了解决。
请查看此页面以了解更多信息。
jvidinwx8#
1.解决问题
执行
git pull origin master
时遵循错误:运行以下命令之一
如果它打开一个Nano编辑器,你只需用
CTRL + x
保存并关闭即可现在在本地推送修改
2.含义
当两个不相关的项目合并时(即,不知道彼此的存在并且提交历史不匹配的项目),就会出现“致命:拒绝合并不相关的历史”Git错误。
--允许-无关-历史
默认情况下,git merge命令拒绝合并不共享共同祖先的历史。合并独立启动的两个项目的历史时,此选项可用于覆盖此安全性。由于这是非常罕见的情况,默认情况下不存在启用此功能的配置变量,也不会添加此配置变量。
参考资料
堆栈溢出详解
k3fezbri9#
我也有同样的问题。试试这个:
7rtdyuoh10#
Android Studio和IntelliJ:
首先,承诺所有事情并解决任何冲突。
然后从IDE下方打开终端,输入:
现在你可以推了。
oaxa6hgo11#
试试
git pull --rebase development