由于权限问题,无法将所有文件添加到Git

50

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

git add .
error: open(".mysql_history"): Permission denied
fatal: unable to index file .mysql_history

好的。那个文件恰好在这个目录中并且被root拥有。我想添加所有其他文件。有没有一种方法可以不用手动逐个添加每个文件来完成这个任务?

我知道我可以将该文件添加到排除列表或.gitignore中,但我希望它根据权限忽略掉这些文件(很可能会有其他类似的文件出现在该目录中,而每次都将它们添加到.gitignore中很麻烦)。

16个回答

0

首先,你需要知道为什么会出现这个错误? 这主要是由于在未关联的文件组或由root拥有的文件或其自身上运行git命令,但您需要获得授权访问。这主要发生在Linux中。

如果这是针对Windows的,请尝试使用文件/文件夹属性设置并将用户添加到权限列表中。

在Linux中,您主要有三个选项。

1. 以管理员身份运行git

> sudo git add .

2. 以 git 命令运行

git add --ignore-errors  -force .

3. 使用sudo访问或默认用户帐户更改发出权限被拒绝的文件或文件夹。

chmod 755 /direcroty/file.html 

调整您当前的用户帐户,即使具有特权权限和调整权限,也可以访问被拒绝的文件。

0
chmod 755 file.xxx

对我来说可行。


0

检查是否有与这些文件相关的任务/进程在后台运行。

我尝试清空我的临时文件夹时意识到了这一点。当一个文件无法被删除时,Windows会告诉你与之相关的进程是什么。杀死该进程解决了我的问题。

这就是为什么完成IDE或重新启动系统通常会起作用的原因。


-1
请指定您要添加的文件名; 例如:
git add index.html

希望这也能对你有所帮助


-2

重启系统(Windows)解决了我的问题。


-3

这个笨蛋(我)试图将存储在OneDrive上的文件添加到Git中(我知道这是一个糟糕的Git仓库位置),但没有运行OneDrive...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接