如何隐藏.gitignore文件和目录并在需要时应用它们

如何隐藏.gitignore文件和目录并在需要时应用它们,git,Git,假设这是一个最顶层提交的结构 --src --app --node_modules --code 在旧版提交中,code不在app中,而是在work中,并且没有app文件夹。因此,当我签出提交时,这将是我的结构 --src --app --node_modules --work --code 因为node\u modules是一个.gitignore目录。它不会被移

假设这是一个最顶层提交的结构

  --src
      --app
         --node_modules
         --code
在旧版提交中,
code
不在
app
中,而是在
work
中,并且没有
app
文件夹。因此,当我签出提交时,这将是我的结构

   --src
       --app
          --node_modules
       --work
           --code
因为
node\u modules
是一个
.gitignore
目录。它不会被移除。正如您所看到的,当您有很多这样的目录时,目录将占用巨大的屏幕空间,这是我们不需要的

我的疑问是,是否有任何方法可以删除这些目录并添加,然后在需要时添加这些目录,在这种情况下,将是在我处于最顶端提交时。就像git stash的工作原理一样


谢谢你的帮助

假设您有一个git存储库,如(用于项目)

你可以做(在Linux上)

然后

现在您有了同一存储库的两个副本,一个在目录
~/RefPerSys\u blue/
中,另一个在目录
~/RefPerSys\u red/
中,都在您的主目录
~/

以后,你可能会

 cd ~/RefPerSys_red/
 git checkout 1b783efb1d17
并在
~/RefPerSys\u red/
中提交1b783efb1d17


磁盘空间便宜,时间也不便宜。您可以在签出git之前将git克隆到其他目录。磁盘空间不足cheap@BasileStarynkevitchisnt
git clone
只是克隆repo。我不确定这有什么帮助,只是在两个不同的目录中有两个git-ed存储库的副本。我一点也不清楚您在这里真正想要什么,但请注意,如果您运行
git stash-a
,这将提交未跟踪和忽略的文件,然后使用
git clean
删除它们(现在它们已安全提交)。这根本不会节省太多磁盘空间(实际上,一旦文件稍后解包,它可能会暂时需要更多空间),而且这三个提交隐藏很难使用,但这将使它们从工作树中删除。我想我理解了您的问题。“空间”一词您的问题具有误导性,因为大多数读者都会理解“磁盘空间”:为了更好地解释您的问题,您能否重新表述这句话?(
ls
仍将列出所有目录,您的可视化文件资源管理器将显示它们…)谢谢你的回复,但这不是我需要的解决方案,所以我想我的问题可能不清楚,所以我编辑了它为什么你的硬盘上不允许有两个存储库副本?这应该写在你的问题中!我不禁止有两个存储库副本,但拥有两个存储库如何解决我的pr有两个存储库不会删除
节点\u模块
directory@Nivekithan:答案是:检查第二个克隆中较旧版本的repo,如果您只操作该克隆中较旧版本的repo,其磁盘布局将与您期望的一致。
git clone  https://github.com/RefPerSys/RefPerSys ~/RefPerSys_red
 cd ~/RefPerSys_red/
 git checkout 1b783efb1d17