gpt4 book ai didi

Git - 从以前使用的原点 pull 出时拒绝 merge 不相关的历史记录

转载 作者:行者123 更新时间:2023-12-05 06:31:02 25 4
gpt4 key购买 nike

我在我们的服务器中设置了一个新的 url 到以前使用的 origin

git remote set-url origin [new_url]

现在我尝试 pull 时出现错误

git pull origin dev
fatal: refusing to merge unrelated histories

我设置了新的 url 因为我不想创建一个新的来源来做事。我该如何解决这个问题?

编辑:-

当添加 git pull origin dev --allow-unrelated-histories 时,再次出现错误。并显示一些未跟踪的文件

error: The following untracked working tree files would be overwritten by merge:

我要覆盖文件

最佳答案

git pull 只是 git fetch + git merge 的组合。 fetch操作基本上应该是无冲突的,所以问题出在merge部分。如果该 merge 只是快进,则它不是真正的 merge ,我们可以进行重置(即 git fetch + git reset 而不是 git pull )。

我首先假设一些事情:

  1. 开始时您没有修改过的文件。
  2. 您的 dev 分支不包含未发布的提交。

在这些情况下,您可以将 git pull origin dev 替换为以下内容:

git branch backup-of-dev-just-in-case dev
git fetch origin
git checkout dev
git reset --hard origin/dev # This command is like "rm -rf", you should always double
# check conditions every time you use `--hard` so that you
# do not accidentally delete too much.

如果您的开发分支确实包含未推送的提交,请执行以下额外步骤:

git branch local-dev-changes backup-of-dev-just-in-case
git rebase --rebase-merges dev local-dev-changes
git checkout dev
git merge local-dev-changes
git branch -d local-dev-changes

关于Git - 从以前使用的原点 pull 出时拒绝 merge 不相关的历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51928195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com