有没有办法强制git添加一个文件,尽管.gitignore文件?


当前回答

尽管Daniel Böhmer提出了可行的解决方案,但Ohad Schneider在评论中提供了一个更好的解决方案:

如果文件通常被忽略,并且您强制添加它-它可能在将来被意外地再次忽略(比如当文件被删除时,然后进行提交并重新创建文件。

你应该像这样在.gitignore文件中取消忽略它: 在Git中取消忽略目录的子目录

其他回答

参见man git-add:

   -f, --force
       Allow adding otherwise ignored files.

运行这个

git add --force my/ignore/file.foo

尽管Daniel Böhmer提出了可行的解决方案,但Ohad Schneider在评论中提供了一个更好的解决方案:

如果文件通常被忽略,并且您强制添加它-它可能在将来被意外地再次忽略(比如当文件被删除时,然后进行提交并重新创建文件。

你应该像这样在.gitignore文件中取消忽略它: 在Git中取消忽略目录的子目录

如何取消忽略一些选择的内容(文件或文件夹)在一个被忽略的文件夹

如果你忽略了这样一个目录的内容:

/ignored_dir/*    # ignore the **contents of** this dir!

然后你可以像这样UNignore里面的文件或目录:

!/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**

然后上面!试图取消忽略某些文件或文件夹的规则将不起作用!因此,在这种情况下,从使用这种样式:/ignored_dir/切换到这种样式:/ignored_dir/*,然后添加您的!规则,如上面所示,以取消忽略目录中的某些内容!

引用:

在Git中取消忽略目录的子目录 [我的eRCaGuy_dotfiles repo与一个示例。gitignore文件包含这些注释和演示]:eRCaGuy_dotfiles/.gitignore

另一种实现方法是临时编辑gitignore文件,添加该文件,然后恢复gitignore。我觉得有点俗气