3 回答

TA貢獻1836條經驗 獲得超5個贊
git update-index 想要在其命令行上使用文件名,而不是在其標準輸入上。
步驟1:
cd 進入您要假設的文件夾不變
第2步:
你可以這樣做:
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ')
要么
git ls-files | tr '\n' ' ' | xargs git update-index --assume-unchanged
雖然,無論哪種情況,帶空格的文件名都會有問題。如果你有這些,你可以使用這個:
git ls-files -z | xargs -0 git update-index --assume-unchanged
編輯:納入來自@MatthewScharley的輸入git ls-files -z。
Windows命令
注意:如果您使用的是Windows,請使用Git Bash運行這些命令

TA貢獻2036條經驗 獲得超8個贊
find來自GNU Findutils 的命令有一個-exec選項可以消除大部分使用麻煩xargs,雖然它的語法有點特殊。但它確實與帶有空格的文件名完美匹配。
這個命令將讓git假設所列目錄中和下面的所有文件都保持不變:
find path/to/dir -type f -exec git update-index --assume-unchanged '{}' \;
查找接受每個參數,-exec直到;(你必須逃脫,以免你的shell吃掉它)并為找到的每個文件運行一次,同時用{}找到的文件名替換(再次,單引號,這樣你的shell不會吃它)。
使用find匹配條件(最大遞歸深度,匹配是文件還是目錄,文件名是否與表達式匹配),-exec你可以做各種有力的事情。
不確定該find命令的其他實現。因人而異。
- 3 回答
- 0 關注
- 1701 瀏覽
添加回答
舉報