由于权限,无法将所有文件添加到git

sin*_*yma 29 git

我想将当前目录中的所有文件添加到git:

git add .
error: open(".mysql_history"): Permission denied
fatal: unable to index file .mysql_history
Run Code Online (Sandbox Code Playgroud)

没关系.该文件恰好位于此目录中并由root拥有.我想添加所有其他文件.有没有办法做到这一点,而无需手动手动添加每个文件?

我知道我可以添加要排除或.gitignore的文件,但我想让它根据权限忽略一些东西(这样的其他文件很可能最终会在目录中,并将它们添加到.gitignore一直很痛苦).

mat*_*tli 45

使用 git add --ignore-errors .

这仍将为不可读的文件提供错误,但不是致命的文件.其他文件将被添加.

  • 如果你正在使用VS,这可能会发生.在我的情况下,我不得不关闭所有Visual Studio实例.关闭IIS Express并重新启动Visual Studio也将解决此问题. (9认同)
  • 这工作,但只有在git 2.6及以上似乎:) (3认同)

小智 8

关闭您的IDE或使用您要上传的相对文件的任何文件,解决了我的问题


Ben*_*rme 6

正如@Dhanuka777 在评论中指出的那样,如果您使用的是 Visual Studio 或 Unity,则必须在 git add 之前关闭所有 Visual Studio 和 Unity 实例。


mwi*_*ams 5

如果您将该文件添加到.gitignore文件中,会有所帮助吗?因此,所有其他文件将被版本化,并且该文件将被忽略(除非您需要它)。