我有一個很大的目錄結構,里面有很多二進制檔案(影像)。我想在不實際存盤更改的情況下跟蹤添加/洗掉/更改了哪些檔案。可以使用 git 嗎?
重申一下,我不關心更改的內容,只是想注冊檔案被添加/洗掉/更改的事實。
接受除 git 之外的其他跨 Windows/Linux/macOS 作業的建議。
uj5u.com熱心網友回復:
不,事實上,這不是 Git。它甚至不知道有任何檔案被添加/洗掉/更改。它只是拍攝您實際專案的快照。每個快照都包含專案中的所有檔案。這就是 Git 實際存盤的所有內容。你不能要求它不這樣做;這就是 Git 所做的,期間。
uj5u.com熱心網友回復:
實際上,您可以……使用 git 之外的一些魔術。生成所有現有檔案的串列(及其校驗和,無論是 sha1 還是 sha256 或 md5)并將它們放入一個檔案中......添加檔案,提交......然后,過一會兒你做同樣的...... . 添加,提交..... 然后過一會兒你做同樣的事情。所以.....您可以通過比較不同提交的單個檔案的內容,知道發生了什么,而無需實際存盤影像本身。不太優雅,但它會起作用。
uj5u.com熱心網友回復:
受@eftshift0 建議的啟發,這就是我現在正在做的事情(而且效果很好!)
使用 .gitignore 排除除我的目錄串列之外的所有內容
* !.gitignore !ls.txt將具有修改日期的檔案串列保存到 ls.txt 中(決定使用日期來跟蹤更改現在對我來說已經足夠了,所以不執行校驗和)。
find . -printf "%c %p\n" -iname "*.mov" -o -iname "*.jpg" -o -iname "*.mp4" > ls.txt提交上市
git add ls.txt git commit -m "added some files"
PS 使用 find 的列印時間實際上可能非常慢(我的大約 10k 檔案的目錄需要幾分鐘),所以如果您正在跟蹤許多檔案并且您不關心修改日期,最好將其取出。雖然可能只是 Windows 的東西(我在 Windows 上使用 git bash)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/534327.html
標籤:混帐二进制文件
上一篇:是否可以預提交在--from-ref/--to-ref和暫存檔案上運行
下一篇:修復提交未被壓縮
