簡體   English   中英

我如何從git壓縮的提交中獲取最后的提交

[英]How can i get the last commit from squashed commit in git

我想要

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

我的問題是,如果我使用git log -1那么它會顯示所有壓縮的提交,但是我只想從這些壓縮的提交中獲取最新的提交

壓縮的提交是由其他提交合並而成的新提交。 與合並不同,它不保留對其組件提交的任何引用。 通過壓縮的提交,您無法返回到任何原始提交。 如果原始提交仍在對象的文件夾中徘徊,則可以在引用日志中找到它們。

這是一個具有4個提交的分支示例, A是第一個提交, D是最近的提交:

A - B - C - D

如果您將C壓縮為B ,則由這兩個提交組成一個新的提交E ,其父級為A D復制到新提交具有不同的提交者時間,並使用B的父B (而不是C ):

A - E - D¹

原始的BC將存在一段時間,但是它們不會被引用(除非在提交DAG中的其他內容也引用了它們),最終它們將過期。 如果可以看到它們,這就是它們的位置:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM