2014-01-17 38 views
1

承諾我想有我怎樣才能得到最後從壓扁犯git的

1. Commit hash 
2. commit date 
3. commit author 
4. commit message from last commit 

我的問題是,如果我使用git log -1話,就說明所有的壓扁的提交,但我只是想擁有最新的從那些尖銳的提交中承諾

回答

1

壓扁的提交是由其他提交合並而成的新提交。與合併不同,它不保留對組件提交的任何引用。您無法通過壓扁的提交返回任何原始提交。如果他們仍然在對象的文件夾中,您可能能夠在reflog中找到原始提交。

下面是一個例子分支4個提交,A是第一個,D是最近的:

A - B - C - D 

如果你變基壁球CB,一個新的提交E由這兩個提交的,它的父母是AD被複制到一個新的提交 - - 用不同的提交時間,並用(而不是CB父:

A - E - D¹ 

原來BC會存在一段時間,但他們不會被引用(除非提交DAG中的其他內容也引用它們),並最終它們會到期。如果你能看到他們,這就是他們會去的地方:

A - E - D¹ 
\ 
    \ 
    B - C - D (these are no longer visible)