繁体   English   中英

如何忽略目录中除一个文件之外的所有内容

[英]How to ignore everything in a directory except one file

回购结构:

.gitignore
file1
file2
dir/
    file3
    <stuff>

我想忽略dir除文件 3 之外的所有内容。这是我的.gitignore文件中的内容:

dir/*
!dir/file3

但这似乎不起作用。 git仍然尝试索引dir所有内容。 我该如何解决这个问题?

更新- 在删除旧的 .gitignore 文件并创建一个新文件后修复。 新的不是使用> .gitignore

正确的做法是:

!dir
dir/*
!dir/file3

请注意,还有其他解决方案,例如在dir/创建本地.gitignore文件,该文件将优先于前一个。

奇怪的是,我也尝试了您的解决方案,并且

dir/*
!dir/file3

似乎对我有用。 如果有人可以对此发表评论,将不胜感激。

你可以先gitignore整个目录

dir/*

然后你可以强制添加git跟踪的特定文件

git add dir/file3 -f

这对我有用:

!/dir/
/dir/*
!/dir/file3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM