Difference when ignoring files in folder with git
在.gitignore中写入此内容时的区别是什么?
我注意到,如果我创建一个文件夹tmp,不管我在.gitignore中写什么,它在我执行git status时都不会出现。这三者之间的区别是什么?如果我希望提交文件夹,但不希望提交其中的文件,我应该写什么?
- 我记得,Git是基于每个文件工作的,clone不会创建空目录。希望被证明是错误的。
- 这也是我的理解。Git不跟踪空目录。
- 有趣。所以,如果项目中需要这个目录,我希望其他用户拥有它。解决方案是什么?我的意思是,我想分享我的应用程序的结构,但不想分享那个文件夹中的文件。
- 添加虚拟文件。如答案所示的.gitignore,或任何其他你不愿意使用的东西。或者让您的构建系统(如果您使用一个,例如make)创建这些目录。
git不跟踪空文件夹,因此如果它认为其中没有任何内容,就不会添加它。解决您的问题的一种方法是,不要将/tmp/*添加到全局.gitignore文件中,而是将一个添加到/tmp/文件夹中,其中只包含
提交这个文件。这样,/tmp/就不会对git是空的,因此会被添加到存储库中,但不会有更多的文件。