如何在两个本地代码仓库之间进行合并

21

我有两个本地的git代码仓库(一个是主代码仓库的克隆,另一个是主代码仓库的分支的克隆)。有没有办法将其中一个分支与另一个分支合并?

注:我不能简单地将主代码仓库作为上游添加,因为我们当前在这方面存在一些问题 - git fetch失败,因为打包对象失败。

1个回答

44

您可以添加另一个名为“local”的远程仓库。

尝试以下方法(我刚刚成功地运行了):

(假设您的本地存储库MyGitRepo.git和AnotherRepo.git位于同一文件夹中)

在MyGitRepo.git文件夹中:

$: git remote add local ../AnotherRepo
$: git fetch local
$: git merge local/master

如果您想合并的分支是主分支。

在执行git fetch local命令后,您可能会看到以下内容:

$ git fetch local
From ../AnotherRepo
 * [new branch]      master     -> local/master
这意味着成功地创建了另一个跟踪分支来跟踪(其他)本地存储库。
参考:

阅读此链接有关多个远程存储库的信息。


这很容易 :),应该试一试。 - nikel
@nikel 很高兴能帮到你。 :) - J Jiang
请注意,在 Git for Windows 下使用相对路径(如此例所示)可能会出现严重问题。我必须使用绝对路径。 - Fake Name
6
谢谢:如果你也遇到了“fatal: refusing to merge unrelated histories”错误 -> 添加“--allow-unrelated-histories”参数。查看更多信息请访问:https://dev59.com/ploU5IYBdhLWcg3wAjYs - Fabian
这个过程将../AnotherRepo添加为MyGitRepo.git的永久存储库,因此在合并两个存储库后,我们可能希望从MyGitRepo.git中删除../AnotherRepo引用。 - Krauss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接