我正在分支(分支 A)中处理单个文件,提交了我的代码并推送了我的更改。然后我检查了一个新分支(Branch-B)做了一些工作,但注意到我在 Branch-A 中处理的同一文件上进行了更改。
我跑去git checkout -- /file.php恢复更改,但收到消息:
错误:无法取消链接旧的“file.php”(权限被拒绝)
谷歌搜索这个问题,我发现很多 StackOverflow 答案都说要更改文件的权限,我尝试过:
chmod ug+w file.php
Run Code Online (Sandbox Code Playgroud)
和
chmod 777 file.php
Run Code Online (Sandbox Code Playgroud)
但我仍然遇到同样的问题,并出现相同的错误消息。
有人知道这是什么或者我接下来可以做什么吗?
在基于 Unix 或 Linux 的系统上,删除文件\xe2\x80\x94 或创建文件\xe2\x80\x94 的能力通常由文件所在目录的权限控制。因此file.php取决于工作树的权限(在本例中.为工作树的路径):
$ ls -ld\ndrwxr-xr-x 12 root root 4096 ...\nRun Code Online (Sandbox Code Playgroud)\n\n或者:
\n\n# in a different directory\n$ ls -ld\ndrwxrwxr-x 46 vagrant vagrant 4096 Aug 29 23:34 .\nRun Code Online (Sandbox Code Playgroud)\n\n例如。
\n\n在前一种情况下,目录由所有者拥有root并只能写入,root因此只有超级用户才能创建或删除文件。在第二种情况下,该目录由 uservagrant和 group所有vagrant,并且用户和组都可写,因此用户vagrant可以创建或删除文件,作为该组成员的任何用户也可以创建或删除文件vagrant(在此特定系统上无论如何只是用户vagrant)。
如果您作为用户没有对包含目录的写访问权限,则可以根据需要更改所有权(用户和/或组)和模式,或者以超级用户身份执行操作(通常可以执行任何操作,甚至可以执行任何操作)如果权限设置为拒绝通过root访问)sudo。限制超级用户所做的工作量是明智的。
| 归档时间: |
|
| 查看次数: |
7077 次 |
| 最近记录: |