我想要
1. Commit hash
2. commit date
3. commit author
4. commit message from last commit
我的问题是,如果我使用git log -1
,那么它会显示所有被压缩的提交,但我只想从那些被压缩的提交中获得最新的提交
答案 0 :(得分:1)
压缩提交是由其他提交合并而成的新提交。与合并不同,它不保留对其组件提交的任何引用。您无法通过压缩提交返回任何原始提交。如果他们仍然在对象的文件夹中闲逛,你可以在reflog中找到原始提交。
以下是一个包含4个提交的示例分支,A
是第一个,D
是最新的:
A - B - C - D
如果您将C
压缩到B
,则新提交E
由这两个提交组成,其父级为A
。 D
被复制到新提交 - D¹
- 提交时间不同,父级为B
(而不是C
):
A - E - D¹
原始B
和C
将存在一段时间,但它们不会被引用(除非提交DAG中的其他内容也引用它们),并最终它们将过期。如果你能看到它们,那就是它们的位置:
A - E - D¹
\
\
B - C - D (these are no longer visible)