我有一个 .gitignore 文件,它似乎无法正常工作。它不会按预期上传子目录中的任何文件,但我添加了除所有 .cs 文件之外的文件,但子目录仍为空。这是我的代码:
/*
!.gitignore
!my_repo/build/game/Assets/Scripts/*.cs
Run Code Online (Sandbox Code Playgroud)
除了 .cs 文件和 .gitignore 文件之外,我什么都不想要。但 .cs 文件似乎仍然没有被 git 拾取。谢谢。
附言。
我也尝试这样做,但它也不起作用:
!*.cs
Run Code Online (Sandbox Code Playgroud)
您还需要包含该目录。请参阅https://git-scm.com/docs/gitignore#_examples
\n\n# Ignore all (assumes ignore is in my_repo/build/.gitignore)\n/*\n!.gitignore \n\n# Exempt directories\n# Also ignore all files except the sub directories in the path\n!game/\ngame/*\n!game/Assets\ngame/Assets/*\n!game/Assets/Scripts\ngame/Assets/Scripts/*\n\n# Except your CS files\n!game/Assets/Scripts/*.cs\n
Run Code Online (Sandbox Code Playgroud)\n\n-- 更新以增加清晰度 --
\n\n这似乎违反直觉,但你必须包括该目录,因为:
\n\n\n\n\n如果排除某个文件的父目录,则无法重新包含该文件。出于性能原因,Git 不会\xe2\x80\x99t 列出排除的目录,因此包含文件上的任何模式都无效,无论它们是在哪里定义的。
\n
因此,您必须包含该目录,然后默认忽略该目录中的所有内容,然后创建您的豁免。
\n 归档时间: |
|
查看次数: |
1532 次 |
最近记录: |