1

純粋な** git の方法ですべてのコミットの親を取得する一般的な* 方法はありますか?

git showはい、マージコミットの親はコマンドから解析でき、単純なコミットの親は$HASH^-like のもので取得できます。しかし、私の意見では、それは醜く不器用です。

だから、私が欲しいのは:

$> 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 に答える