Github提前/后面指标的含义

用简单的语言(希望用一个简单的例子),Github回购分公司的前后指标是什么意思?

那个分支的意义是什么?它受到的关注是什么? 是“落后”一个分支的坏迹象?

未来是该分支上不存在于基本分支上的提交数量。 后面是基本分支上不存在的提交数量。

前面和后面几乎就像一种“年龄”指标。 前面的数字告诉你粗略地说,如果分支合并,基本分支会有多大的影响。 后面的数字告诉你自从这个分支开始以来在基本分支上发生了多less工作。

我发现后面的数字对于判断一个分支是否可能干净地合并是非常有用的。 当基地分行发生大量工作时,两个分行更有可能修改相同的行。 当背后是大的,这是一个迹象,你应该合并基地分支到这个分支进行同步。 一旦你将基本分支合并到这个分支中,后面将是0。

如果你是更多的视觉types,请看看这里:

 ◈ - ◈ - A - ◈ - B \ ◈ - C 

A是2提交后,0提交在B之前
B是0落后,2落在A之前
C是1落后,2落后于A
C是3落后,2落后于B

所以“后面”意味着其他分支已经提交了这个没有,“提前”表示这个分支提交了另一个没有。

像你可以看到这个项目的指标描述, 比较回购的分支(如master

  • GitHub回购所做的新提交的数量与另一个回购的另一个分支相比:这些是落后提交:与当前回购(参见提交 )相比,其他回购是落后的。
  • 与当前的回购相比,另一个回购的另一个分支已经完成的新提交的数量:这些是前面的提交:其他回购比当前的回购(参见那些提交 )提前。

技术细节通过脚本“确定哪些回购是前/后来源”来说明 :
这是关于检查:

  • 可以从另一个分支到达哪些提交,但不能从本地分支到达:提前
    git rev-list "$localref..$anotherref"
  • 可以从本地分支到达哪些提交,而不是从另一个分支到达
    git rev-list "$anotherref..$localref"

值得注意的是github的“后面”也算合并提交。 你可以检查“后面”的东西:git log mybranch1 ^ mybranch2,它应该显示你提交数量相同。 如果你有合并提交,你可以用–no-merges在最后一个命令中排除它们。