如何比较两个git仓库?

14 浏览
0 Comments

如何比较两个git仓库?

我将我们的CVS版本库以不同的方式导出到git中。它们在某个点开始分叉,所以我正在进行一些调查以了解原因。开发线回溯几年,有数以万计的提交。\n在开发线的开头,每个提交的SHA1 ID都是相同的,这告诉我git-cvsimport在读取cvsps的结果并导入时非常一致。\n但是在第一次提交和昨天之间的某个时间点,SHA1 ID开始分叉。我想通过比较每个版本库的提交ID列表,并查看有什么遗漏来找出这个时间点。有没有什么好的工具或技巧可以做到这一点?

0
0 Comments

问题的出现原因:用户想要比较两个git仓库之间的差异。

解决方法:用户可以按照以下步骤进行比较:

1. 在一个仓库中执行以下命令:$ git remote add other-repo git://.../other-repo.git,将另一个仓库添加为远程仓库。

2. 执行命令$ git remote update,更新远程仓库。

3. 执行命令$ git log other-repo/master...master,这将显示两个仓库之间的对称差异,即显示在一个仓库中存在但在另一个仓库中不存在的所有提交记录。

4. 或者可以执行命令$ gitk master... other-repo/master,这将在gitk图形界面中显示两个仓库之间的差异。

通过以上步骤,用户可以比较两个git仓库之间的差异。

0
0 Comments

从上面的内容可以看出,问题的出现原因是用户想要比较两个git仓库之间的差异,而仅仅通过查看git log并不能满足用户的需求。以下是解决方法:

解决方法:

1. 使用git diff命令来比较两个仓库之间的差异。可以使用以下命令:

git diff

2. 如果想要比较两个仓库之间的提交差异,而不仅仅是起始点的差异,可以使用以下命令:

git diff ..

3. 如果想要比较两个仓库之间的文件差异,可以使用以下命令:

git diff : :

通过以上方法,用户可以轻松比较两个git仓库之间的差异。

0
0 Comments

如何比较两个git仓库?

问题的原因是:由于两个git仓库最初是相同的,因此可以将它们都拉取到同一个工作仓库中进行比较。

解决方法如下:

$ git remote add cvsimport-a git://.../cvsimport-a.git
$ git remote add cvsimport-b git://.../cvsimport-b.git
$ git remote update
$ git log cvsimport-a/master..cvsimport-b/master  # 在B中而不在A中的记录?
$ git log cvsimport-b/master..cvsimport-a/master  # 在A中而不在B中的记录?

在这些命令中需要用到`cvsimport-a/master`和`cvsimport-b/master`,另外可以使用`git remote update`代替`xargs git fetch`。

最初我打算写成`git remote fetch cvsimport-a; git remote fetch cvsimport-b`(不更新其他远程仓库),但是后来我改变了主意...已完成。如果不加`/master`,Git会有一些警告,但是它仍然可以工作。为了更清晰明了,我会进行修改。

0