Git 如何跨两个不同的仓库进行责备?

Git 如何跨两个不同的仓库进行责备?,git,git-merge,git-remote,Git,Git Merge,Git Remote,因此,我有两个git存储库。一个是2009-2012年的历史,另一个是现在的2012年(包括它们之间的一些重复提交)。出于这样或那样的原因,我们无法在远程端将它们合并在一起。但是,它们都包含大致相同的文件等。一个问题是,当浏览代码差异时,我需要做一个责备,需要查看文件的完整历史记录,从2009年至今,而不仅仅是其中一个 我最好的办法是把旧的回购协议作为第二个遥控器。这样,对于单个文件,我至少可以看到它们之间的提交 我如何能够在不修改远程repo的情况下跨这两个存储库工作,同时使修改内容和从我的r

因此,我有两个git存储库。一个是2009-2012年的历史,另一个是现在的2012年(包括它们之间的一些重复提交)。出于这样或那样的原因,我们无法在远程端将它们合并在一起。但是,它们都包含大致相同的文件等。一个问题是,当浏览代码差异时,我需要做一个责备,需要查看文件的完整历史记录,从2009年至今,而不仅仅是其中一个

我最好的办法是把旧的回购协议作为第二个遥控器。这样,对于单个文件,我至少可以看到它们之间的提交


我如何能够在不修改远程repo的情况下跨这两个存储库工作,同时使修改内容和从我的repo提交/推送变得容易

你可以用移植点来做。根据新回购协议:

git remote add old /path/to/old-repo
git pull
现在,要进行移植并使其成为一棵提交树,请编辑.gits/info/grafts

00c6d1bc0d3e4cd4bceef5966aa6478ae2c96a5a a936b291fd3cedb9a964a6d05b3c330ee310fe
您必须更改哈希值。第一个散列是新回购协议的初始提交。第二个散列是旧回购协议的最后一次提交


另请参见:

我也会尝试将另一个回购协议作为另一个遥控器。你有没有试过在你的本地回购协议中这样指责?它不起作用吗?它肯定会像@Cupcake建议的那样起作用。当cherry picking从一个远程服务器的分支提交到另一个远程服务器的分支时可能会有一些问题(因为这些远程服务器的分支没有共同的祖先),但这也是可以解决的。你说把另一个回购协议作为另一个远程服务器@Cupcake I不得不远程服务器“旧的”和“新的”@Earlz是什么意思“我最好的办法是把旧的回购协议作为第二个遥控器”?这正是我的意思。