有没有办法告诉git只包含某些文件,而不是忽略某些文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (64)

我的程序通常生成巨大的输出文件(~1GB),我不想备份到Git存储库。所以不能做

git add .

我得做些类似的事

git add *.c *.cc *.f *.F *.C *.h *.cu

有点麻烦..。

我很有信心能够将一个快速的Perl脚本将目录内容写到.gitignore中,然后基于.gitinclude(或类似的名称)文件删除文件,但这似乎有点太麻烦了。有更好的办法吗?

提问于
用户回答回答于

我不需要亲自尝试,但从我读到的TFM看起来一个否定的模式会做你想做的事。可以在.gitignore中用稍后的否定式条目覆盖条目。因此,可以这样做:

*.c
!frob_*.c
!custom.c

让它忽略除custom.c和任何以“Frob”开头的任何.c文件之外的所有.c文件.

用户回答回答于

在存储库中创建.gitignore文件,只想跟踪c文件,忽略所有其他文件,然后向它添加以下行.

*
!*.c

“*将忽略所有文件

并且!将否定文件以忽略.所以这里我们要求git不要忽略c文件.

扫码关注云+社区