2010-07-28 75 views
2

我正在尋找一種方法來查看提交被推送到遠程存儲庫的日期。使用git log你可以看到作者日期和提交日期;然而,這些日期都沒有告訴你開發人員何時實際上將變更推送到主遠程存儲庫。公開提交被推送到存儲庫的日期

起初我以爲我在找的東西根本就沒有在git中可用,但是昨天我發現在日誌命令中指定日期範圍實際上在提交到主遠程回購的那一天過濾了提交。這裏有一個例子:

  1. 比方說,我撰寫並提交補丁到我的本地主分支於2010年7月1日,但現在卻是7月28日,我終於得到周圍做一個推到遠程主回購。

  2. 然後我做'Fetch'以確保我的本地產地/主人是最新的遠程主回購。

  3. 我看看日誌原產/主運行:

    git log --format="format:%H %nAuthor Date: %ad %nCommit Date: %cd %n" origin/master 
    

    日誌的結果表明,這是創作,並承諾即使它只是被推到遠程回購2010 7月1日。

  4. 所以我指定日期範圍(since..until)

    git log --format="format:%H %nAuthor Date: %ad %nCommit Date: %cd %n" origin/[email protected]{"1 hour ago"}..origin/master 
    

    很讓我驚訝的git知道這被推到遠程倉庫在過去一小時內,即使它撰寫,並致力於周前。

如此看來,git的保留,承諾推到回購之日起,我的問題是,是否有任何的方式來揭露這個日期,所以我可以看到(例如)最近五次推到遠程存儲庫?

回答

2

不幸的是,@ {「1 hour ago」}語法檢查有問題的分支(在這種情況下是origin/master)的reflog。這個reflog對每個克隆都是唯一的,並且不會被推送,拉取或克隆。最重要的是,裸倉庫的core.logAllRefUpdates的默認值是false,所以典型的「服務器」將不會有提供這些信息的reflog。

爲了澄清,在「1小時前」指的是當你取,還不時有人推

如果core.logAllRefUpdates設置爲true裸回購,你可以cd到它,「混帳引用日誌秀分支「來回顧每次推動以及它所包含的內容

相關問題