小编典典

如何在不使用 .gitignore 的情况下让 Git 忽略文件?

all

由于外部奇怪的限制,我无法修改.gitignore我的存储库。除了修改 a
之外,有没有办法忽略文件​​和目录.gitignore?即使它是一个全局解决方案,例如将应用于我所有存储库的全局配置。


阅读 100

收藏
2022-07-29

共1个答案

小编典典

不要忘记,根据gitignore,Git 考虑的不同“忽略模式源”中存在优先顺序:

  • 从命令行读取支持它们的命令的模式。
  • 从与路径相同的目录或任何父目录中的 .gitignore 文件读取的模式,较高级别文件(直到根目录)中的模式被低级别文件中的模式覆盖,直到包含该文件的目录。
  • 模式读取自$GIT_DIR/info/exclude.
  • 从配置变量指定的文件中读取的模式core.excludesfile

最后两个可以解决您的问题,但是:

  • 它们不会复制到远程存储库
  • 他们可以让其他来源覆盖他们的模式

其他两种解决方案涉及更新索引 ( git update-index):

但是,当您签出另一个分支或您时git pull,“忽略”状态可能会被重置。因此,另一种选择:

  • git update-index --skip-worktree; 看:
    • “忽略我对文件的更改,但不要从远程代表中删除它们”和
    • “在分支签出之间保留 git –assume-unchanged 文件

两者的区别在“ Git - ‘ assume-unchanged‘ 和 ‘ skip-worktree‘之间的区别”中进行了解释。

2022-07-29