Git拒绝合并不相关的历史,什么是“不相关的历史”?

qojgxg4l  于 2023-06-28  发布在  Git
关注(0)|答案(6)|浏览(188)

在我的本地,我做了一个新的文本文件→ git add newfile.txt → commit → pull origin master → ERROR!
“拒绝合并不相关的历史”
什么是不相关的历史?
相关历史有哪些?

aoyhnmkz

aoyhnmkz1#

我认为你已经在远程仓库中提交了,当你拉取时,这个错误发生了。
使用以下命令:

git pull origin master --allow-unrelated-histories
git merge origin origin/master
qij5mzcb

qij5mzcb2#

我遇到了一个类似的问题,我从第二个远程引入了一个分支,并希望与第一个远程的分支合并。这与现有的答案不同,因为我没有在pull上使用-allow-independent-histories,而是在merge上使用。

git checkout master
git merge --allow-unrelated-histories myfunnybrancy
vhmi4jdf

vhmi4jdf3#

当本地的.git子目录丢失时,整个项目似乎不知从哪里出现,因为所有的本地更改历史都包含在.git中。因此,您的本地更改将变得不相关。这就是为什么所有的变化都被称为“不相关的历史”。
在这种情况下,git merge or pull请求将无法跟踪您在远程项目中进行的更改。因此," refusing to merge unrelated histories"-错误发生。
在这种情况下,如果您尝试通过以下命令强制合并,
git pull origin master --allow-unrelated-histories
git merge origin origin/master
它会产生很多冲突,因为它无法找到您本地更改的历史。

x6h2sr28

x6h2sr284#

git pull origin master --allow-unrelated-histories
kulphzqa

kulphzqa5#

我在重命名GitHub Enterprise中的一个存储库时遇到了这个问题,然后按照下面的步骤制作相同的前命名存储库。
1.在远程创建存储库sample
1.克隆到本地
1.将remote重命名为old-sample
1.在远程中创建名为sample的新存储库
1.尝试从本地推送
1.发生错误。
奇怪的是,我删除了本地仓库,但git试图克隆旧的仓库,即使我尝试通过新创建的仓库URL进行克隆。克隆URL只是自动重定向到旧的,即使新的存在于远程。我不知道这是由于服务器还是本地Git进程。
由于这个原因,错误的发生是因为Git进程无法将其本地提交历史与远程历史进行比较。

不相关的历史可以告诉在上述情况下。

我最终删除并重命名了远程的旧存储库,问题得到了解决。

aydmsdu9

aydmsdu96#

只是:

git pull --allow-unrelated-histories

相关问题