首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用.gitignore时不会忽略CMakeLists文件夹

使用.gitignore时不会忽略CMakeLists文件夹
EN

Stack Overflow用户
提问于 2021-07-16 09:38:18
回答 1查看 157关注 0票数 0

我的代码结构如下

代码语言:javascript
运行
复制
cpppen
|
|-c++11-features
|  |
|  |-async_task
      | 
      | - async_task.cpp
      | - CMakeFiles/ 
      | - CMakeLists.txt

我想将CMakeFiles/文件夹添加到.gitignore

由于某些原因,它似乎不起作用。

代码语言:javascript
运行
复制
*.o
*.cbp
*.cmake
CMakeCache.txt
cmake_install.cmake
bin/
build/
CMakeLists.txt.user
**/CMakeFiles/
venv
**/.idea
CMakeScripts
Testing
Makefile

install_manifest.txt
compile_commands.json
CTestTestfile.cmake

cmake-build-debug/

c++11-features/async_task/async_task.exe

谁能指出为什么它没有忽略async_task下的CMakeFiles文件夹。我在.gitignore中犯了什么错误?

EN

回答 1

Stack Overflow用户

发布于 2021-07-16 15:20:34

如果文件夹cpppen是Git的根文件夹(带有文件夹.git),它的工作方式应该与您在.gitignore中编写(**/CMakeFiles/)它的方式相同。但是还必须在那里创建.gitignore (当然可以在任何子目录中,但通常/是默认的.gitignore在git的根文件夹中)。

代码语言:javascript
运行
复制
cpppen
.gitignore
...

如果你在之前的任何提交中跟踪了文件夹CMakeFiles,你必须首先从Git中取消对这个文件夹的跟踪。使用以下命令执行此操作:

代码语言:javascript
运行
复制
# Execute from Git root folder
git rm -r --cached c++11/async_task/CMakeLists

之后,您可以添加(git add .)您的更改并提交(git commit -m "No longer tracking CMakeLists to include in gitignore")它们。现在您已经准备好推送(git push),在此之后,您可以转到您的远程存储库,文件夹CMakeLists将不再可见!

还有另一种方法(更专业/更清晰),即如何将文件夹CMakeLists添加到.gitignore中。

正如现在注意到的,(**/CMakeFiles/) 存储库中具有此文件夹名的所有文件夹(CMakeFiles)都将被忽略。如果您突然创建了另一个同名的文件夹,但希望它在远程存储库中可用,该怎么办?因此,我将在.gitignore中创建如下条目:

代码语言:javascript
运行
复制
c++11/async_task/CMakeLists/

这就是如何定义只忽略所需的文件夹(在c++11/async_task中为CMakeFiles),而不忽略具有相同名称的任何其他文件夹。是一件可以让大不相同的小事 ;-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68402491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档