我有一堆自動生成的檔案,我想暫時從我的 git 中隱藏/忽略。我試過這個:
git update-index --assume-unchanged '*.gen.*'
但我遇到了一個致命錯誤。這個問題有方法解決嗎?還是我必須逐個檔案地做這個檔案?
uj5u.com熱心網友回復:
這種較短的形式也應該可以作業:
git update-index --assume-unchanged $(git ls-files -m '**/*.gen.*')
反過來:
git update-index --no-assume-unchanged $(git ls-files -v '**/*.gen.*' | grep -Po '^[[:lower:]] \s \K.*')
uj5u.com熱心網友回復:
根據@torek的建議,我想出了這些命令:
隱藏.gen.檔案
git status -s | grep '.gen.' | cut -c 4- | xargs -I FILE git update-index --assume-unchanged FILE
git status -s以短格式列出檔案grep '.gen.'過濾串列到包含.gen.路徑中任何位置的檔案cut -c 4-剪切每個字串的開頭以洗掉Mxargs -I FILE git update-index --assume-unchanged FILE回圈遍歷每個檔案并執行 git 命令
列出忽略的檔案
git ls-files -v | grep "^[a-z]"
取消隱藏所有檔案
git ls-files -v | grep "^[a-z]" | cut -c 3- | xargs -I FILE git update-index --no-assume-unchanged FILE
這不適用于尚未在 repo 中的檔案,但對于我的用例來說已經足夠了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455995.html
上一篇:為什么`./example`和`shexample`的行為不同?(`zsh:文本檔案繁忙:./example`)
