如何在git中比较本地和远程分支树?

如何在git中比较本地和远程分支树?,git,command,diff,Git,Command,Diff,描述如何获取两个分支之间的文件差异 我想知道如何知道我的本地分支和远程分支之间有多少不同 我的意思是,在前面、旁边或后面提交的数量,您可以从git bash中键入git status来获取此信息。Git会将您当前的本地分支与其远程跟踪对应分支进行比较。您将看到如下内容: $ git status # On branch master 随后将显示一条状态消息,如: # Your branch is up-to-date with 'origin/master' # Your branch is

描述如何获取两个分支之间的文件差异

我想知道如何知道我的本地分支和远程分支之间有多少不同

我的意思是,在前面、旁边或后面提交的数量,您可以从git bash中键入git status来获取此信息。Git会将您当前的本地分支与其远程跟踪对应分支进行比较。您将看到如下内容:

$ git status
# On branch master
随后将显示一条状态消息,如:

# Your branch is up-to-date with 'origin/master'
# Your branch is ahead of 'origin/master' by 1 commit.
# Your branch is behind 'origin/master' by 1 commit.
# Your branch is 1 commit ahead and 2 commits behind 'origin/master'
第一条消息表示您的本地分支与远程跟踪分支完全一致。第二条和第三条消息表示您的分支对远程分支有额外的提交,反之亦然。如果您的本地分支和远程分支自分支点起都有新的提交,则将显示第四条消息。

您可以从git bash键入git status以获取此信息。Git会将您当前的本地分支与其远程跟踪对应分支进行比较。您将看到如下内容:

$ git status
# On branch master
随后将显示一条状态消息,如:

# Your branch is up-to-date with 'origin/master'
# Your branch is ahead of 'origin/master' by 1 commit.
# Your branch is behind 'origin/master' by 1 commit.
# Your branch is 1 commit ahead and 2 commits behind 'origin/master'
第一条消息表示您的本地分支与远程跟踪分支完全一致。第二条和第三条消息表示您的分支对远程分支有额外的提交,反之亦然。如果您的本地分支和远程分支自分支后都有新的提交,则会显示第四条消息。

您可以使用来计算提交的数量:

前进:git rev list-count..@{u} 后面:git rev list-count@{u}。。 您可以使用统计提交的数量:

前进:git rev list-count..@{u} 后面:git rev list-count@{u}。。
比较两个随机分支A和B,找出A上有多少提交是B新提交的:

A和B可以有以下关系之一:

A和B是不相关的分支; A是B的最新版本; A在B前面; A在B后面; A与B分开。 要了解它与foo.sh的关系,请执行以下操作:

要比较主控形状和原点/主控形状,请执行以下操作:


比较两个随机分支A和B,找出A上有多少提交是B新提交的:

A和B可以有以下关系之一:

A和B是不相关的分支; A是B的最新版本; A在B前面; A在B后面; A与B分开。 要了解它与foo.sh的关系,请执行以下操作:

要比较主控形状和原点/主控形状,请执行以下操作:


与我的答案中的git版本列表相同,但脚本很好:很好。向上投票。使用git rev list-count-left-right$A…$B可以在一个git rev list中获得两个计数。注意三个点,它以仅在$A上然后仅在$B上的顺序输出两个单独的计数。不过,您仍然需要这些相关测试的初始值。git rev list-计数与我的答案相同,但在一个漂亮的脚本中:尼斯。向上投票。使用git rev list-count-left-right$A..$B可以在一个git rev list中获得两个计数。注意三个点,这三个点按仅在$A上然后仅在$B上的顺序输出两个单独的计数。不过,您仍然需要这些相关测试的初始值。
bash foo.sh master origin/master