我们如何得到两个git存储库之间的区别?
场景: 我们有一个repo_a和repo_b。后者是作为repo_a的副本创建的。之后,两个存储库都进行了并行开发。是否有一种方法可以列出这两个存储库的当前版本的差异?
我们如何得到两个git存储库之间的区别?
场景: 我们有一个repo_a和repo_b。后者是作为repo_a的副本创建的。之后,两个存储库都进行了并行开发。是否有一种方法可以列出这两个存储库的当前版本的差异?
当前回答
您可以先添加其他回购作为当前回购的远程:
git remote add other_name PATH_TO_OTHER_REPO
然后从遥控器中获取分支:
git fetch other_name branch_name:branch_name
这将创建该分支作为当前回购中的新分支,然后你可以将该分支与你的任何分支区分,例如,将当前分支与新分支(branch_name)进行比较:
git diff branch_name
其他回答
git diff master remotes/b
这是不正确的。Remotes /b是一个遥控器,但不是一个分支。
为了让它工作,我必须做:
git diff master remotes/b/master
您可以先添加其他回购作为当前回购的远程:
git remote add other_name PATH_TO_OTHER_REPO
然后从遥控器中获取分支:
git fetch other_name branch_name:branch_name
这将创建该分支作为当前回购中的新分支,然后你可以将该分支与你的任何分支区分,例如,将当前分支与新分支(branch_name)进行比较:
git diff branch_name
提醒自己…首先获取,否则存储库没有本地哈希(我猜)。
步骤1。设置上游远程和上面^
区分单个文件遵循以下模式:
人间天堂
Git diff master upstream/nameofrepo——src/index.js
可以使用如下命令:
diff -x .git -r repo-A repo-B
或者你可以用:
diff -x .git -W200 -y -r repo-A repo-B
在为每个diff文件着色的情况下,您可以使用:
diff -x .git -W200 -y -r repo-A repo-B | sed -e "s/\(^diff .*\)/\x1b[31m\1\x1b[0m/"
我使用PyCharm,它具有比较文件夹和文件的强大功能。
只需打开两个repo的父文件夹,并等待它索引。然后你可以用右键点击一个文件夹或文件,然后比较…然后在另一边选择相应的文件夹/文件。
它不仅显示了哪些文件不同,而且还显示了它们的内容。 比命令行简单多了。