从存储库外部比较 git 中的两个分支



如果我克隆我的 git 存储库,比较两个分支很简单。

git clone $REPOURL repodir
cd repodir
git diff branch1..branch2

我希望能够在不克隆存储库的情况下使用 URL 执行此操作。这对于查看其他人存储库中的更改非常有用,而无需先克隆它。

我已经看到了各种模糊的例子,但在我的 git 版本中没有任何效果:2.14.1

通读 git diff 文档也没有真正引导我找到一个工作示例(目前(,因此在此处发布以加快找出答案的过程。 谢谢!

Git 的工作方式实际上是先下载所有修订版,然后大多数命令在本地运行。这就是 Git 在大多数操作中运行如此之快的原因。 diff是其中之一,它不会下载任何内容。

这并不意味着您必须"克隆":您可以使用现有的克隆并将同事的分支提取到其中。例如:

git remote add <url> my-friend
git fetch my-friend
git diff my-friend/branch1 my-friend/branch2

或者,根据您使用的主机,服务器可能允许您从其 Web 界面比较分支。例如,在 GitHub 上,这是 https://github.com/<organisation>/<project>/compare/<branch1>...<branch2> ,像这样:https://github.com/git/git/compare/master...next

最新更新