解决Git 不相关的分支合并

可以直接调到解决方案,接下来是原因分析和每步的解决方式

问题原因:

我之前在自己本机创建了一个初始化了Git仓库,后来有在另一个电脑初始化仓库,并没有clone自己在本机Git远程仓库地址,导致Git历史版本不相关

错误信息

From https://gitee.com/to-uphold-justice-for-others/learning-gitee * branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories

fatal: refusing to merge unrelated histories

 表明你尝试合并两个没有共同祖先的 Git 历史记录,但 Git 拒绝了这一操作,因为它默认不允许合并两个无关的历史。这通常发生在尝试将来自不同源的代码库或项目合并到一个仓库时。

解决这个问题的一个方法是使用 

git merge --allow-unrelated-histories

 选项来强制合并这两个无关的历史记录。但是,在这么做之前,请确保你了解这样做的后果,因为这可能会导致代码库中的文件冲突和混乱。

错误信息

$ git merge --allow-unrelated-histories origin/master merge: origin/master - not something we can merge

 merge: origin/master - not something we can merge 表示 Git 试图合并 origin/master,但是  origin/maste 不是一个可以被合并的引用。这通常意味着  origin/maste 并没有在你的本地仓库中作为一个有效的引用(比如一个分支或者标签)存在。

这个问题可能是因为你的本地仓库没有正确更新远程仓库的信息,或者你的本地仓库和远程仓库的同步状态不一致。

首先,确保你的本地仓库是最新的,使用 git fetch 来获取远程仓库的所有更新:

git fetch origin (自己当前的仓库名)

然后,再次尝试合并 origin/master 分支到你的当前分支。由于你已经使用  --allow-unrelated-histories 选项,Git 应该会允许合并即使历史记录是不相关的:

git merge --allow-unrelated-histories origin/master(自己仓库下的分支)

这边我是在自己java项目中使用Git bash Here,调用自己的终端 

我这边自己的仓库名

 

错误消息 

Merge remote-tracking branch 'Asia/master' # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.

 当你执行一个像 git merge Asia/master 这样的命令时,Git 会尝试将远程跟踪分支 Asia/master 合并到你当前所在的本地分支。通常,Asia 是一个远程仓库的名字,而 master 是该远程仓库的一个分支。

在合并过程中,Git 会尝试将两个分支的历史合并到一起,并解决任何可能出现的冲突。如果合并成功且没有冲突,Git 会打开一个文本编辑器(通常是系统默认的文本编辑器),让你输入一个提交信息,来解释这次合并的原因。这个信息对于其他人(或未来的你)理解这次代码变更的上下文是非常有帮助的。

编辑器中的提示信息告诉你,以 # 开头的行会被忽略,如果你不输入任何信息而直接保存并退出编辑器,合并操作会被中止,并且不会创建一个新的合并提交。

写完后保存并退出编辑器。Git 会使用你输入的提交信息来创建一个新的合并提交,这个提交将两个分支的历史连接起来。

最后push就可以了

 解决方案

 git fetch origin(自己仓库名)
 git merge --allow-unrelated-histories origin/master(自己仓库名/分支)
 进入文档编辑器
 编写相关信息
 进入底行命令行 :wq 

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值