避免拉动.gitignore中的文件

时间:2015-09-24 05:00:20

标签: git gitignore git-pull

我有git存储库,我正与其他开发人员合作。我在.gitignore文件中写了添加文件夹以忽略它们。

但是每当我git add .时,它都会添加这些文件夹中的文件。此外,当我从中提取最新代码时,使用git pull从gitignore中列出的文件夹中提取文件。有没有办法避免获取.gitignore中提到的文件的最新更改?

我的.gitignore文件如下所示:

/log/*
!/log/.keep
/tmp
/db
/bin
/lib
/public
/test
/vendor
/.idea/*
.idea/

1 个答案:

答案 0 :(得分:2)

gitignore仅用于忽略未跟踪的文件,而您的文件已在索引中跟踪,因此gitignore无效。您想要的是使用git update-index --skip-worktree选项:

  

Skip-worktree位可以在一个(长)句子中定义:当读取一个条目时,如果它被标记为skip-worktree,那么Git假装它的工作目录版本是最新的,而是读取索引版本。 / p>

将文件作为附加参数传递,以将其标记为skip-worktree,例如git update-index --skip-worktree file-a.txt file-b.txt