2010-08-10 46 views
3

我不知道是否有更好的方法來檢查出較明顯的方式文件的最初版本:混帳:如何檢查出文件的初始版本的git倉庫

git log --reverse [path/to/file] 

複製的第一個SHA1

git checkout [found sha1] [path/to/file] 

我們有頭最近,和^後綴可以追溯到一個(或多個),但我從來沒見過什麼好辦法回到起點。

回答

4

那麼,你應該使用命令替換:

git checkout $(git log --follow --pretty=%H path/to/file | tail -n 1) path/to/file 

,但有不會是什麼根本簡單。 Git跟蹤內容,而不是文件,所以它沒有「A文件版本」的記錄 - 走歷史記錄找到它的方式。

我拿出--reverse使命令縮短 - 它實際上並沒有加快使用它的速度,因爲它在內部只是在打印之前找到所有東西並反轉,而不是像打印時那樣打印。

如果這是你做了很多事情(雖然我不知道你爲什麼會這樣做),你可以別名。

+0

我很害怕這個。至於爲什麼這實際上經常足以讓我去問。我在工作中使用git-p4,但它不支持p4分支。所以每個新的代碼行的p4分支都是一個新的git倉庫。因此,我想比較一個文件是回購中的第一個版本,以查看新分支中發生了什麼變化,這並不罕見。在創建分支時,能夠對文件進行類似比較是有用的,因爲它是在給定的git分支(而不是回購)中進行的。 – masukomi 2010-08-12 16:51:45