如何比较两个git仓库?
问题的出现原因:用户想要比较两个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仓库之间的差异。
如何比较两个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会有一些警告,但是它仍然可以工作。为了更清晰明了,我会进行修改。