Git文件夹重命名失败-权限被拒绝。

7

我从GIT得到了这个错误信息:

rename folder from X to Y failed, should I try again?

我尝试过的方法:
- Tortoise Git
- Git UI
- 以管理员权限运行Git UI
- 重启电脑
- 以管理员权限运行Git Bash。

但问题依旧存在——致命错误:重命名文件夹失败:权限被拒绝。

更新3

我将所有文件权限更改为Everyone。

icacls "c:\projects\TRUNK\PRINT_FILES11\" /remove:d Everyone /grant:r Everyone:(OI)(CI)F /T

这是命令的结果:

....
processed file: c:\projects\TRUNK\PRINT_FILES11\maven-compiler-    plugin\compile\default-compile\inputFiles.lst
processed file: c:\projects\TRUNK\PRINT_FILES11\maven-compiler-    plugin\testCompile\default-testCompile
processed file: c:\projects\TRUNK\PRINT_FILES11\maven-compiler-plugin\testCompile\default-testCompile\inputFiles.lst
Successfully processed 77226 files; Failed processing 0 files
C:\WINDOWS\system32>

依然得到相同的东西。

我的Tortoise Git版本是

TortoiseGit 2.8.0.0 (C:\Program Files\TortoiseGit\bin)  
git version 2.18.0.windows.1 (  
    C:\Program Files\Git\bin;   
    C:\Program Files\Git\mingw64\;   
    C:\Program Files\Git\mingw64\etc\gitconfig;   
    C:\ProgramData\Git\config)  

enter image description here enter image description here enter image description here enter image description here


Windows会将文件的权限显示为什么?如果您将文件复制到目录外的其他位置,但使用相同的名称,然后尝试在副本上执行相同的重命名操作,但使用普通的Windows命令,会发生什么? - jthill
3个回答

9

请确保您要重命名的文件夹中没有任何正在运行的程序会阻止您通过GUI方式重命名文件夹(例如,在其他程序中打开文件)。

我刚遇到这个问题,通过阅读unix.stackexchange.com上这篇答案后解决了它。

在我的情况下,我碰巧在一个文件资源管理器窗口中打开了工作目录(我使用的是64位Windows 10 Home)。


例如,也关闭IntelliJ。 - user1485864
以前有一些程序和工具可以显示哪些进程打开了文件(过去,其中一个被称为wholockme - 我不知道它是否仍适用于最新的Windows)。 有人知道任何好的当前工具吗?或者那个工具还能用吗? - Tim Ludwinski
@TimLudwinski 这个问题很久了,但是File Locksmith(PowerToys的一部分)是一个很好的替代品。 - undefined

1
在我的情况下,需要重命名的文件夹包含了一些未受git控制的子文件夹(如bin和obj文件夹)。 将这些文件夹移动到其他位置,进行git重命名操作,然后再将文件夹移回原处,问题就得以解决。

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community
通过创建一个名为"temp"的文件夹,将"bin"和"obj"文件夹移动到该文件夹中,执行git mv命令,然后将这些文件夹移动回重命名的文件夹,解决了我的问题。 - undefined

0
为了简单解决问题,您可以使用git bash执行以下两个步骤:
  1. 将“PRINT_FILES11”重命名为“tmp”
  2. 将“tmp”重命名为“Prnt_f”
以下是如何执行此操作的命令(适用于Windows):
git mv PRINT_FILES11 tmp
git mv tmp Prnt_f

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