我的程序通常生成巨大的输出文件(~1 GB),我不想备份到git存储库.所以不是能够做到的
git add .
我必须做点什么
git add *.c *.cc *.f *.F *.C *.h *.cu
这有点麻烦......
我相信我可以编写一个快速的perl脚本,将目录内容写入.gitignore,然后根据.gitinclude(或类似名称)文件删除文件,但这似乎有点过于苛刻.有没有更好的办法?
我没有必要自己尝试这个,但是从我对TFM的阅读看起来,一个否定的模式会做你想要的.您可以使用以后的否定条目覆盖.gitignore中的条目.因此你可以这样做:
*.c !frob_*.c !custom.c
让它忽略除custom.c之外的所有.c文件以及以"frob_"开头的任何文件
在您的存储库中创建.gitignore文件,您只想跟踪c文件并忽略所有其他文件,然后添加以下行...
* !*.c
'*'将忽略所有文件
而且!否定文件被忽略....所以这里我们要求git不要忽略c文件....
实现这一目标的最佳解决方案
.gitignore
在存储库中创建文件root
,如果您只想包含.c
文件,则需要在.gitignore
文件中添加以下行
*.* !*.c
这将包括.c
递归目录和子目录中的所有文件.
运用
* !*.c
不适用于所有版本的git.
经过测试
git版本2.12.2.windows.2