2013-01-11 62 views
1

是否有一般 *獲取所有提交的父母的方法純粹的 ** git方式?獲取指定提交的所有父母的一般方法

是的,合併的家長提交會從git show命令進行解析,並簡單的母公司承諾可能是與$HASH^樣的東西拿到。但在我看來,它是醜陋和笨拙的。

所以,我要的是:

$> git parents $NON_MERGE_COMMIT_HASH 
HASH1 

$> git parents $MERGE_COMMIT_HASH 
HASH1 
HASH2 
... 

一般 * - 單非合併命令提交和合並的提交。

** - 簡單的git命令沒有任何輸出解析。即獲取當前分支名稱git rev-parse --abbrev-ref HEAD是純粹的命令,而不是git branch

回答

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

^@後綴是指(按順序)「中的所有修訂的父母」。見git help revisions

+0

不錯,這正是我正在尋找的。 –

2

下,似乎做的工作: git log -1 --pretty=tformat:%P <hash>