2016-11-16 68 views
0

我有文件列表,我想獲取每個文件在特定時間範圍或使用標記提交的列表。如何使用標籤獲取文件的提交列表?

+0

「時間範圍」可能有問題,因爲,例如,開發人員在一個月前做了更改,但他今天將其推送到中央存儲庫。哪個「時間」與你有關?關於標籤 - 這只是指向特定提交的指針。您想要獲得哪些提交列表(與標記有關)? – Ivan

+0

查看[git help rev-list](https://git-scm.com/docs/git-rev-list),特別是'--since'和'--until'選項,以及''和''的論點。 – tom

回答

0
git log <commit-range specification> -- path/to/file1 ... path/to/fileN 

提交範圍規範可能相當複雜。我建議閱讀man git-log。如果你只需要提交列表(sha1和主題),你可能會發現有用的--pretty=oneline選項的git日誌。從聯機幫助的git-log

OPTIONS 
    <since>..<until> 
     Show only commits between the named two commits. When either <since> 
     or <until> is omitted, it defaults to HEAD, i.e. the tip of the 
     current branch. For a more complete list of ways to spell <since> 
     and <until>, see gitrevisions(7). 

0

引用下面的命令將顯示從2016年11月16日10:00登錄的path/to/file1至2016年11月16日12:00

git log $(git rev-list -n 1 --until="2016-11-16 10:00")..$(git rev-list -n 1 --until="2016-11-16 12:00") -- path/to/file1 

你需要添加一些程序來檢查那些時間框架中是否有提交。

相關問題