1

是否有一种通用的 * 方法可以以** 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而不是。

4

2 回答 2

2

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

于 2013-01-11T17:09:31.503 回答
1
git rev-parse "${HASH}"^@

后缀的^@意思是“所有修订的父母”(按顺序)。见git help revisions

于 2013-01-11T17:29:30.140 回答