我正在一个有多个分支的项目中,并且我为同一提交创建了多个分支名称(以尝试合并策略和重新基准化的特定效果)。例如,我有一组提交,从git log --graph
的行中应用了--pretty=format
看到:
| | | * 253701d 2018-08-14 (origin/LAADS-1611, LAADS-1647.premerge, LAADS-1647, LAADS-1611.test, LAADS-1611) LAADS-1647 Disable debugging (may be useful later)
我可以看到在此提交中我全部有4个本地分支。
我想做的是在执行git branch --list
时将它们全部分组在一起。到目前为止,我最好的是此输出:
git branch --list --verbose
LAADS-1439 2f10b40 LAADS-1596 Change to support module integration
LAADS-1611 253701d LAADS-1647 Disable debugging (may be useful later)
LAADS-1611.premerge e39c749 LAADS-1611 Document dependencies in Build.PL
LAADS-1611.test 253701d LAADS-1647 Disable debugging (may be useful later)
LAADS-1613 02885e0 Update .gitlab-ci.yml
LAADS-1613.rebase.2 307cdc9 Update .gitlab-ci.yml
* LAADS-1613.squashes 307cdc9 Update .gitlab-ci.yml
LAADS-1613.test 02885e0 Update .gitlab-ci.yml
LAADS-1647 253701d LAADS-1647 Disable debugging (may be useful later)
LAADS-1647.checkpoint a97e736 LAADS-1611 Bug Fix: Only resolve symlinks for dirs
LAADS-1647.premerge 253701d LAADS-1647 Disable debugging (may be useful later)
master ac23a63 Merge branch 'nrt' into 'master'
因此,我可以选择并发分支与工作,但这并不容易。我想我可以将所有内容通过管道传输到Unix sort
,但似乎我已经错过了它可能已经内置在Git中。
如何查看具有(可能是多个)分支名称的不同提交?
答案 0 :(得分:1)
在git verions> = 2.7中列出分支时,您可以基于任何字段(包括提交的对象名(sha1))对结果进行排序。
git branch --list --verbose --sort objectname
在最新版本(>=2.13.2
)中,您可以像直接在git for-each-branch
上在git branch
上一样使用format选项来自定义输出。
如果您使用的是旧版本,最好将其通过管道cut
和sort
进行处理,这样至少可以将它们正确地分组(对十六进制数字进行排序不起作用)。 / p>
git branch --list --verbose | cut -b 3- | sort -k2,2