簡體   English   中英

有沒有辦法使用git查看文件的所有版本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM