git - 如何在 Git 本地完全排除子目录
问题描述
情况 我们有一个包含多个顶级目录的 Git 仓库 - gradle 多个模块项目。
问题 一个目录有很多文件,在我的工作中我根本不需要它们。我不希望它们出现在我的磁盘上,我不希望我的 IDE 意外扫描它们,而且在大多数情况下 - 我不希望它们减慢任何 git 操作,比如 pull 并让我在这里和那里折腾冲突的更改(删除此目录)。
我希望将此目录排除在它存在(本地)的任何警告之外的完美情况是什么。所以我只能通过寻找远程来知道它的存在。所以我在磁盘上看不到它,而 pull/checokut/commit/merge/push 和其他 Git 操作就像我们根本没有这个目录一样。
评论 我确实尝试过 git ignore,但没有帮助.. 提前感谢您解决了我的痛苦!
解决方案
您可以将此文件夹移动到子模块。
Git 子模块:一个结构Git
,使您能够将单独的Git
存储库作为现有存储库中的子目录。这有效地将两个单独的存储库在一个项目中链接在一起。
# adds a submodule
git submodule add git@github.com:robconery/logging.git logging
git submodule init
# cloning repository with submodules
git clone ...
git submodule init
git submodule update
推荐阅读
- c++ - 递归堆栈溢出
- python - ValueError 任何类的最小组数不能小于2
- servicestack - 如何提高ServiceStack.Core的并发
- java - 如何递归解析 ObjectMapper.readValue 中的 json 值?
- oracle - Oracle触发器插入/更新到另一个表
- java - Spark Job 创建时间
- php - 下面 curl 命令的 php curl 版本是什么
- javascript - ngFor 与 Pagination 一起使用时的索引问题
- php - 如何在wordpress中始终在顶部(常规帖子之前)显示粘性帖子?
- algorithm - 尽快评估多变量递归关系