/ignored_dir/* # ignore the **contents of** this dir!
然后你可以取消忽略其中的一个文件或目录,如下所示:
!/ignored_dir/special_file_to_include # Do NOT ignore this file--DO include it!
!/ignored_dir/special_dir_to_include/ # And do NOT ignore this dir--DO include it!
但是,如果您 * 直接 * 忽略了“ignored_dir”,请改为:
/ignored_dir/ # ignore this directory **directly**
5条答案
按热度按时间uurv41yg1#
参见
man git-add
:那么运行这个
xwmevbvl2#
尽管丹尼尔·伯默提出了可行的解决方案,但奥哈德·施奈德在评论中提出了一个更好的解决方案:
如果文件通常被忽略,而您强制添加了它-它可能会在将来意外地再次被忽略(例如,当文件被删除时,则会进行提交并重新创建文件。
你应该在.gitignore文件中取消忽略它,如下所示:Unignore subdirectories of ignored directories in Git
amrnrhlw3#
如何取消忽略 ignored 文件夹中的某些选定内容(文件或文件夹)
如果您忽略了 * 目录的 * 内容 *,如下所示:
然后你可以取消忽略其中的一个文件或目录,如下所示:
但是,如果您 * 直接 * 忽略了“ignored_dir”,请改为:
那么上面的
!
规则试图取消忽略某些文件或文件夹将不起作用!所以,在这种情况下,请从使用这种风格切换:/ignored_dir/
转换为该样式:/ignored_dir/*
,然后如上所示添加您的!
规则以取消忽略该目录中的某些内容!参考文献:
1.在Git中取消忽略已忽略目录的子目录
1.[我的eRCaGuy_dotfiles repo以及包含这些注解和演示的示例.gitignore文件]:eRCaGuy_dotfiles/.gitignore
5tmbdcev4#
另一种实现方法是临时编辑gitignore文件,添加文件,然后恢复gitignore。
pw136qt25#
如果被忽略的文件是由git钩子使用
git update-index --assume-unchanged <file>
强制执行的,那么强制执行的git add(git add -f <file>
)将不起作用,这时你需要手动更新索引,如下所示: