我在项目中包含了Zend,这个库有大约2.8k文件。由于这是一个PHP框架,我的团队触摸此文件夹的可能性非常低。
问题是,我应该如何gitignore这个文件夹,但仍然将此框架保存在存储库中?这甚至可能吗?即,我希望Zend
克隆到每个clone
,但我不希望git在每个status
或commit
上扫描这些文件夹 - 它需要3秒钟或更多取决于我的电脑状态。
add -f
似乎添加了框架,但跟踪了所有文件忽略该文件夹的原因是为了加快提交速度。这不是我们使用的唯一框架,而另一个框架也有超过数千个文件 - 在Windows机器上它的速度令人难以忍受。
修改
以前似乎已经回答了,唯一的方法是使用子模块:
似乎update-index
就是你的方式之一:
答案 0 :(得分:1)
使用子模块。通过在github上托管它使它成为一个远程仓库。你现在有一个很好的轻量级回购,只包括团队所做的工作。即使您想要更新Zend,您也可以这样做,但一旦完成,它不会影响日常工作。
答案 1 :(得分:0)
如果您将文件放在Zend目录中,如.gitkeep
,然后将以下内容添加到您的.gitignore,该怎么办?
# ignore everything in Zend
Zend/*
# except .gitkeep
!Zend/.gitkeep
这将忽略该目录中的所有内容,但会将目录保留为.gitkeep。
我不是百分之百确定git会做聪明的事情而不是扫描目录中的其他文件,但我非常希望。
答案 2 :(得分:-1)
使用带有--cached选项的git rm命令。有了它,git将破坏框架的所有轨道。因此,您再次在项目文件夹中插入框架并将其添加到.gitignore。我正在寻找你的参考。
修改强>
我找到了。看看here。