3 回答

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

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