2015-10-24 72 views
2

我試圖獲取上一個月爲master分支在github回購上發生更改的所有文件的列表。我的本地克隆沒有日誌回去那麼遠,所以當我運行以下命令:從遠程獲取上個月在git分支上提交的文件列表

git diff --stat @{1.month.ago} 

...我得到一個警告消息,並且變化的一小部分。我也嘗試過:

git diff --stat @{1.month.ago} origin 
git diff --stat @{1.month.ago} origin/master 
git diff --stat @{1.month.ago} origin master 

...具有相同的結果。

如何從命令行收集此列表?

回答

1

獲得不依賴於reflog的差異的唯一方法是在正確的提交之間做差異。

正如在「How can I get the diff between all the commits that occurred between two dates with Git?」解釋說,在你的情況下,正確的提交是(使用git rev-list):

git rev-list -n1 --first-parent --until=<a date string> <a ref> 
git rev-list -n1 --first-parent --until="1 month ago" HEAD 

這就是:第一承諾這是一個月大。

然後一個差異是:

git diff --stat $(git rev-list -n1 --first-parent --until="1.month.ago" HEAD) 
相關問題