GIT - 从提交中排除/忽略文件

Pat*_*ick 38 git gitignore content-management-system filefilter

我需要忽略git中的文件!我不认为忽视实际上是正确的词; 我希望文件在git中,但我不希望能够对它们进行更改.对某些人来说,这似乎是一件奇怪的事情,但是有很多很多实例需要这个功能.我现在需要它的一个例子是当使用带有CMS的git时; 如果没有不断变化的文件,CMS将无法运行,但我不希望在初始提交后提交这些文件.(这对SVN和Tortoise来说非常容易).

工作流程:

  1. 获取运行应用程序所需的所有文件.
  2. 提交时忽略指定的目录/文件.

这是我尝试过的:

  1. .gitignore - 文件永远不会输入git.如果文件已经在缓存中,则.gitignore文件不会执行任何操作.
  2. /.git/info/exclude - 与.gitignore相同的问题,但仅适用于本地回购.
  3. 分支 - 主=> LocalIgnores => WorkingBranch.当Working分支与master合并时,从LocalIgnores进行的更改最终在master中.此外,当您签出其中一个新分支时,删除的文件将被删除而不是被忽略.
  4. 第三方文件结构 - 根节点上的第三方目录,其中包含所有重要第三方文件的副本,以便将它们复制到使用.gitignore文件的工作目录中.(这个有效,但必须有一个更容易/更好的解决方案).

And*_*ndy 93

以下是我对类似问题的回答.

git update-index应该做你想要的

这将告诉git你想要开始忽略对文件的更改
git update-index --assume-unchanged path/to/file

当你想再次开始追踪时
git update-index --no-assume-unchanged path/to/file

  • 你为什么不把它作为副本关闭,而不是引用你的答案?关于这个问题有很多问题.这一切只会成为未来用户的噪音. (2认同)