2014-01-17 39 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)