2011-05-09 49 views

回答

1
git push origin your_branch --verbose 

這應該給你輸出的哈希範圍。現在,你可以這樣做:

git log sha1A..sha1B 

如果你想與這個實驗首先添加--dry-run的推 - 推實際上不會發生。

但你推前,你還可以嘗試:

git log origin/your_branch..your_branch 

這會告訴你,你將推動提交。如果your_branch已經簽出,您可以發出:

git log origin/your_branch.. 

這將隱式地將範圍匹配到您的分支HEAD。

希望這有助於。

+0

但是,這並不顯示我插入和刪除了多少行。 – igorgue 2011-05-10 00:45:14

+0

add --stat給日誌命令 – 2011-05-10 07:29:16

+1

哦流氓!謝謝! – igorgue 2011-05-10 17:13:02

2

獲得這種信息的主要方式是--shortstat,--stat--numstat選項,它們可以被傳遞給diffcore機器,例如,通過git-diffgit-log

對你來說,這聽起來像你想的--shortstat選項,只給出了彙總行,不是每個文件的漂亮信息,如您--stat給拉後看到。最後一個,--numstat,以更機器可讀的格式提供相同的逐個文件信息。

要將此應用於提交範圍,只需使用git diff --shortstat A B,其中AB是您要比較的提交。

要獲得該範圍內每個單獨提交的相同信息,而不是所有集中在一起的信息,請使用git log --shortstat A..B

如果你想按日期要做到這一點,你有幾個選擇:

  • 指定單個提交使用形式<branch>@{<date>}。但請注意,這給出了該分支在該給定日期的位置。如果它是一個長期存在的本地分支,這很好,但如果它在那天還沒有存在,或者它是一個遠程分支,當你獲取時會大幅跳躍,那可能不是你想要的。

  • 使用--since--until選項爲git log。這意味着如果你想要總體總結,你必須使用兩個步驟 - 一個找出範圍的每一端的提交,一個實際做差異。

有關如何指定提交的更多信息,請參閱man gitrevisions

相關問題