2

我想忽略一个对跟踪文件有很多更改的目录?我试过了

d:\git>git update-index --assume-unchanged dir
fatal: Unable to mark file dir

d:\git>git update-index --assume-unchanged dir/*
fatal: Unable to mark file dir/*

d:\git>git update-index --assume-unchanged dir\*
fatal: Unable to mark file dir\*

我试图强制cmd.exe扩展dir\*dir\file1dir\file2但没有成功。我想我的问题是特定于糟糕的 Windows 控制台。最后我创建了一个批处理文件

git update-index --assume-unchanged dir\file1
git update-index --assume-unchanged dir\file2
git update-index --assume-unchanged dir\file3

有没有办法给出一个目录而不是所有文件名?

4

2 回答 2

2

您可以在 git-bash 会话中尝试(可与 msysgit 一起使用

git update-index --assume-unchanged -- $(git ls-files 'dir/*')
于 2013-01-18T11:40:40.490 回答
0

由于 git 只跟踪内容(换句话说,文件),因此您需要忽略目录中的每个文件。

我没有尝试过,但类似:

for f in dir/*; do
    git update-index --assume-unchanged -- $f
done

应该(理论上)做到这一点。

于 2013-01-18T19:19:15.960 回答