[英]Is there a way to see all the versions of a file using git?
我經常需要找到我用舊版腳本編寫的東西,但我不知道什么時候。 我經常嘗試在日志中跳轉,找到不同的版本,看看他們是否有變化,或者我只是放棄並嘗試別的東西。
特別有用的是在兩個日期或散列之間輸出文件的每個版本的命令。 然后一個簡單的grep會找到我正在尋找的東西。
它可能會像這樣工作:
git showeverything d612905a..b39af32e /path/to/file /tmp/output
git有一個完美的工具: git log -S
將搜索更改並僅顯示這些提交
# search changes in all branches which touch the string $abc in a file
git log -p -S'$abc' --all -- path/to/file
我知道這可能不是您正在尋找的答案,但每個git托管網站/服務都有一個很好的GUI,可以查看存儲庫中每個文件的提交歷史記錄。 我經常使用它。
您可以使用git log [commit_range/dates/other_constraints] -- <filename(s)>
來顯示與特定文件相關的所有更改日志,並且可以向日期/提交/等添加約束。 同樣。
使用git show <same stuff>
來實際顯示每個階段的文件......
git log file
顯示影響文件的所有提交的提交ID。
git show commitid:file
將相關文件版本的內容打印到stdout。
請注意,在git show
命令中,如果您只是指定文件名是相對於git存儲庫的根目錄,除非您指定路徑,而不是指定當前目錄。 要在當前目錄中顯示文件:
git show commitid:./file*
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.