我知道有关git的问题与"无法取消链接"警告有关,但我无法使用它们.
主要区别在于,当我没有以任何方式处理子模块时(我之前从未处理过它们)发生了这种情况.我创建了一个名为"upgrade"的分支,删除了我的旧框架文件,并复制了新的框架文件.我使用git add -A,然后提交了所有内容.当我尝试检出trunk分支时,它响应了以下错误:
warning: unable to unlink requirements/views/sk/index.php: Permission denied
warning: unable to unlink requirements/views/sv/index.php: Permission denied
warning: unable to unlink requirements/views/zh/index.php: Permission denied
warning: unable to unlink requirements/views/zh_cn/index.php: Permission denied
warning: unable to unlink requirements/views/zh_tw/index.php: Permission denied
Run Code Online (Sandbox Code Playgroud)
...等等.有数百个.
起初我认为这只是一个权限问题,因此我以递归方式向整个需求目录添加了组写权限,但没有任何更改.
编辑:正如下面的答案所示,我尝试做同样的事情,但其他一切都关闭了.我没有比以前更幸运了.
这个问题特别令人虚弱,因为我无法进入后备箱以恢复正常发展.
Eli*_*ynn 96
在我第一次遇到此错误时,我的用户有权"写"到文件而不是包含目录.检查包含该文件的目录的权限.
Von*_*onC 79
当进程没有释放那些文件的句柄时,我通常会看到这种错误.
确保没有任何内容正在运行,然后再次尝试结帐.
注意:它也可能与Git的安装方式有关(在Windows上,如果安装了msysgit,UAC可能会产生问题,C:\Program或者C:\Program Files参见" msysgit - sh.exe - fork:Permission denied - Vista 64 bit "和评论2问题437)
注意:如下图所示,问题的常见原因是目录上的权限问题(错误的所有者),不一定是无法取消链接的文件.
rtc*_*ner 30
在这种情况下,"取消链接"实质上意味着"删除文件".
这个错误不是由git本身引起的.在命令行或文件资源管理器中手动删除这些文件时应该有类似的错误.
Rob*_*ine 23
我在drupal 7中遇到了default-settings.php文件的问题.在这种情况下,我无法删除它或像@rtconner所说的那样恢复它.我没有使用此文件的应用程序或任何内容,最终导致权限错误.
我添加chmod 777 *到该文件夹,然后我能够还原它没有问题.
Vin*_*uan 23
您没有访问权限,可能是因为您不是所有者.
通过将所有者更改为自己来修复:
sudo chown -R your_login_name /path/to/folder
Run Code Online (Sandbox Code Playgroud)
Raj*_*ari 12
您可以更改写入权限以完成它.
sudo chmod -R ug+w .
Run Code Online (Sandbox Code Playgroud)
此命令将为'w'当前目录中的所有文件夹授予权限.
每当在我的OS X机器上运行"git repack"或"git gc"时,我遇到了这个问题,即使在运行带有管理员权限的git时,我终于在遇到这个页面后解决了这个问题:http://hints.macworld.com /comment.php?mode=view&cid=1734
修复是打开一个终端,转到你的git repo,cd进入.git文件夹,然后执行:
chflags -R nouchg *
Run Code Online (Sandbox Code Playgroud)
如果那是问题,那么之后,你的git命令将正常工作.
这也可能发生在:
您在Docker 容器内运行了一个进程,并且:
该过程生成了一些文件,并且:
文件的目的地作为卷挂载在 Docker 主机上,并且:
您正在gitDocker 主机上运行。
如果是这种情况,请暂存您希望提交并运行的文件:
git diff --name-only --cached | xargs ls -l
Run Code Online (Sandbox Code Playgroud)
符合上述条件的文件将带有前缀:
-rw-r--r-- 1 root root ...
Run Code Online (Sandbox Code Playgroud)
它们归所有者所有root且不可写,这不好。要修复该运行:
git diff --name-only --cached | xargs -i sh -c 'sudo chown $USER:$USER {}; chmod +w {}'
Run Code Online (Sandbox Code Playgroud)
更简洁的解决方案可能是使用该--user选项,请参阅Docker和Docker compose 的this。
| 归档时间: |
|
| 查看次数: |
123263 次 |
| 最近记录: |