1 问题
有时在使用 GitHub 期间,您会遇到在本地和远程双方都创建初始分支的情况。自然,您想合并分支,但您的 Git 工具可能会拒绝合并它们,因为分支具有“不相关的历史”。我将展示我在使用 GitHub 和 SourceTree 时出现的问题,但在其他工具和远程存储库中可能会发生。
我遇到的问题,刚刚发生,但我确信我和其他人会再次发生,是我在工作期间完成了两个初始分支:main 和 master。“主”分支默认由 GitHub 创建,那里有一个自述文件。SourceTree默认创建分支“master”,我的代码就在其中。
好的,这里不需要有两个分支,我们把它们合并,去掉一个。让我们保留 GitHub 默认分支“main”并删除“master”。
但是当您尝试合并这两个分支时会出现问题:
它给出了一个错误:“致命:拒绝合并不相关的历史”
2 解决方案
由于我们的两个分支没有共同的祖先提交,SurceTree 认为我们做错了什么。但我们知道我们是对的,并想强迫它。
2.1。强制合并
我看了看,它在 [1] 中说您无法从 SourceTree GUI 解决这个问题。所以,我们需要 GitBash 来运行命令行 Git 命令。问题说明和说明在 [2] 中。
我们需要运行“ git merge <branch-name> --allow-unrelated-histories
”
因此,您可以从 SourceTree(终端按钮)打开 GitBash,然后执行命令。系统将提示您在单独的文本编辑器中输入提交评论。然后合并将继续。
这是合并分支现在的样子: