是否有通用 *方法以纯 ** git方式获取所有提交的父项?
是的,可以从git show
命令解析合并提交的父级,并且简单提交的父级可以使用$HASH^
来获取类似的东西。但在我看来,这是丑陋和笨拙的。
所以,我想要的是:
$> git parents $NON_MERGE_COMMIT_HASH
HASH1
$> git parents $MERGE_COMMIT_HASH
HASH1
HASH2
...
general * - 用于非合并提交和合并提交的单个命令。
pure ** - 简单的git命令,没有任何解析输出。即获取当前分支名称git rev-parse --abbrev-ref HEAD
是纯命令而git branch
不是。
答案 0 :(得分:2)
以下似乎可以完成这项工作:
git log -1 --pretty=tformat:%P <hash>
答案 1 :(得分:1)
git rev-parse "${HASH}"^@
^@
后缀表示“所有修订版的父项”(按顺序)。请参阅git help revisions
。