Git:在执行git pull后确定被拉下的提交数量?

iszxjhcz  于 2023-09-29  发布在  Git
关注(0)|答案(3)|浏览(113)

在执行git pull之后,如何确定下拉的提交数量?
当我们执行git pull时,我看到的输出如下:

9 files changed, 3 insertions(+), 39 deletions(-)

但是我不能像你用hg fetch那样确定有多少提交被拉下来。有没有办法做到这一点?

cedebl8k

cedebl8k1#

您可以先执行git fetch,然后执行git merge,而不是执行git pull。* 在你进行合并之前,git status会显示你有多少提交“落后”;这是你已经获取的提交数量,假设你在获取之前落后0。

aurhwmvo

aurhwmvo2#

git rev-list HEAD --count

git shortlog | grep -E '^[ ]+\w+' | wc -l

请让我知道这些命令是否有帮助

vqlkdk9b

vqlkdk9b3#

如果像我一样,你已经执行了pull,那么git fetch之后的git status的(好)建议对你没有帮助。
这似乎起作用:

$ git reflog
e5545c33c (HEAD -> main, origin/main, origin/HEAD) HEAD@{0}: rebase (finish): returning to refs/heads/main
e5545c33c (HEAD -> main, origin/main, origin/HEAD) HEAD@{1}: rebase (start): checkout refs/remotes/origin/main
5400c9c85 HEAD@{2}: commit: <redacted>
<... snipped ...>

# we see ^ that my pull performed a rebase. I prefer rebase over merge and am
# not sure how merge would behave in this situation - sorry.

# next, we grab the commit below the rebase:
$ REF=5400c9c85

# count commits between that and HEAD
$ git rev-list --count $REF..
8

相关问题