让所有父母具体提交的一般方法

时间:2013-01-11 17:00:46

标签: git

是否有通用 *方法以 ** 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不是。

2 个答案:

答案 0 :(得分:2)

以下似乎可以完成这项工作: git log -1 --pretty=tformat:%P <hash>

答案 1 :(得分:1)

git rev-parse "${HASH}"^@

^@后缀表示“所有修订版的父项”(按顺序)。请参阅git help revisions