.gitignore只在本地

Max*_*Max 9 git github gitignore

我想知道如何gitignore文件,但只在本地,而不是推动它(因为在项目上工作的其他人不应该得到我在那里添加的gitignore文件的更新.

简单来说,在git状态后我只有:

        modified:   .gitignore
Run Code Online (Sandbox Code Playgroud)

因为我添加了我的文件以忽略我的gitignore但现在我想要上面的行没有推动它.

Chr*_*ris 22

对于本地忽略,您应该使用该.git/info/exclude文件,而不是.gitignore:

特定于特定存储库但不需要与其他相关存储库共享的模式(例如,存储在存储库内但特定于一个用户工作流的辅助文件)应该进入该$GIT_DIR/info/exclude文件.

这两个文件接受相同的格式.

  • 然后,我经常将“.git/info/exclude”符号链接到项目根目录中的“.gitignore_local”以提高可见性(并将其添加到“.gitignore”) (6认同)
  • 如果您不想污染共享的“.gitignore”,您可以在其内部自引用“.gitignore_local” (6认同)

Vas*_*san 8

应该提交Gitignore文件,因为在大多数情况下,团队中的其他开发人员也会忽略您忽略的内容。

但是,如果您绝对需要从跟踪本地更改中排除它,则可以执行以下操作:

git update-index --assume-unchanged .gitignore

这将使其从已修改列表中“消失”。虽然如果有人更改它,则在拉动时将不会得到更改。然后,您需要执行以下操作以将其恢复为跟踪列表,然后再次执行拉动操作:

git update-index --no-assume-unchanged .gitignore

  • 我在一个配置文件中使用它,该文件在 Windows 中的行为与在 Linux 中的行为不同,并且由于我是团队中唯一使用 Windows 的开发人员,所以弄乱他们的配置是没有意义的,所以我只是从 git 中排除了该文件使用这个。 (3认同)
  • git update-index --assume-unchanged是最好避免的步枪。原因在于名称-即使您确实做了一些更改,也请忽略您所做的事实。“ git status”将表示一切都已落实并且可以正常工作,即使您对现实的看法与其他拥有“相同”(但实际上不是)代码版本的人的看法有所不同。在这种情况下,最好使用`.git / info / exclude`。 (2认同)
  • @jsageryd这仅适用于.gitignore,并且_“将说一切都已落实并可以正常工作,即使您对现实的看法与另一个人的看法不同” _也是OP想要的。 (2认同)