git假设未更改的目录(即使将来有任何新文件)

时间:2014-06-11 03:35:42

标签: git

我必须找到一个忽略现有文件的解决方案,例如假设不变但更具动态性。

我想:

  • 当我执行git statusgit diffgit add等时,它只是表现得没有这样的目录。 (如assume-unchanged
  • 当我执行git pullgit rebasegit resetgit checkout等时,它的行为就像没有这样的目录。
  • 即使我在该文件夹中添加任何新文件,它仍然必须是幽灵。 (assume-unchanged似乎不能做什么)
  • 它是只读的,所以我不必考虑addcommitpush等。

有人可以提供帮助吗?非常感谢!

P.S。更多细节。为什么我必须这样做是因为在我的项目中他们将node_modules目录登记到存储库中。如果你在Windows上使用了msysgit和一个节点项目,你可能会知道"文件名太长"问题...

所以我想完全禁止存储库中的node_modules并构建我自己的存储库。我不需要签入任何代码,因此我不会考虑如何签入我的更改。

1 个答案:

答案 0 :(得分:1)

如果node_modules可以被视为自己的回购,那么您可以add that node_modules as a submodule使其成为simple (gitlink) entry in your index,您可以或不可以初始化。
然后你就可以在别处(你的仓库之外)克隆相同的node_modules repo供你使用。

这不仅仅是检查现有仓库中node_modules的内容:这是关于使其成为自己的回购,其中:

  • 可以包含在您的仓库(子模块)
  • 可以在任何你想要的地方签出(为了避免你的"文件名太长"问题)