gpt4 book ai didi

git - 如何从其他分支获取具有提前提交数量的分支列表

转载 作者:太空狗 更新时间:2023-10-29 14:44:10 25 4
gpt4 key购买 nike

有没有办法从其他分支获取分支列表以及提前提交的数量?

考虑这个分支:

master
feature/one
feature/two
feature/three

feature/* 由 master 在同一时间创建。然后,在 feature/one 中创建了一个新提交。在 feature/two 中创建了两个新的提交。在 feature/three 中创建了三个新提交。

然后,feature/two 被 merge 回 master。

我正在寻找获得此结果的方法:(数字表示在主分支之前有多少次提交。

feature/two 0
feature/one 1
feature/three 3

谢谢

最佳答案

choroba's answer中的脚本应该可行,但还有更好的方法,也可以使用脚本。

首先要意识到的是,没有必要检查每个分支。我们想要的只是计算“在”(包含在)给定分支上但不在(包含在)master 上的提交数, 和 master..$branch语法足以指定这些。

使用 git log --online通过管道传输到 wc -l会工作,但我们可以在 Git 中使用 git rev-list --count 直接完成此操作.

最后,git branch是所谓的“瓷器”Git 命令,与 Git 的“管道”命令相对:管道命令设计用于编写脚本,而瓷器命令则不是。通常脚本与管道命令一起使用效果更好。使用管道命令获取分支列表的方法有点冗长:

git for-each-ref --format '%(refname:short)' refs/heads

将这些放在一起我们得到:

git for-each-ref --format '%(refname:short)' refs/head |
while read branch; do
printf "%s " $branch # %s just in case $branch contains a %
git rev-list --count master..$branch
done

这实际上基本上是同一件事,只是使用管道命令。

关于git - 如何从其他分支获取具有提前提交数量的分支列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38379255/

25 4 0
文章推荐: git - 使用 $GIT_DIR 环境变量或 --git-dir 标志在同一目录中运行多个 git repos 是个坏主意吗?
文章推荐: html - 向 Primefaces (3.4) 添加自定义属性 (HTML5) 支持
文章推荐: html - 居中
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com