git忽略空文件夹

时间:2017-06-27 23:29:05

标签: git cmake

目前我的项目结构如下:

        
  •     项目     
    • 的.git
    • 包括
    • 测试
        

我想在其中添加一个“build”目录,以便人们知道在哪里用cmake构建。

我希望构建目录为空,所以在我的.gitignore中我添加了:
build / *
所以它忽略了该目录中的所有内容。

问题是git也没有跟踪目录,因为它是空的。 所以我尝试添加一个README.txt(包含“build cmake solutions here”) 为了让git能够跟踪它,(显然我编辑了.gitignore文件),但不幸的是,这似乎搞砸了cmake。

当我尝试使用cmake gui构建windows并选择构建目录时,它不会生成visual studio解决方案, 但是当我从文件夹中删除README.txt文件时,cmake再次工作。

我猜这是因为cmake不允许构建目录中的任何其他文件。

所以我不能在文件夹中包含README.txt文件,因为它因某些原因弄乱了cmake,但我也不能将目录留空,因为这会让git停止跟踪它....

那我该怎么办?

2 个答案:

答案 0 :(得分:1)

在"项目"目录,我有一个.gitignore文件包含:

!.gitignore
!/build/*

在" project / build"目录,我有一个.gitignore文件包含:

# Ignore everything in this directory
*
# - except .gitignore and README files
!.gitignore
!README*

我甚至投入了" project / build / README.txt"文件"在此处构建cmake解决方案"作为文本。

所有内容都会检查git,包括" build"和.gitignore文件。

使用cmake-gui和cmake从命令行使用Visual Studio 2015 Win64和Ninja生成器正确构建所有内容。

答案 1 :(得分:0)

我的意思是听起来很奇怪,但为什么不把你创建的README.txt文件放在项目层次结构中最顶层的文件夹中。这样您就可以向使用该项目的任何人解释它,而不是将空文件夹签入VCS。