我的本地Git仓库中有一个文件出现了问题。当我试图切换分支时,会显示以下提示:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
那可能意味着什么?
我的本地Git仓库中有一个文件出现了问题。当我试图切换分支时,会显示以下提示:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
那可能意味着什么?
我通过以管理员身份重新启动 PHPStorm(或者您的程序)解决了这个问题。
这可能是一个单独的 gitk 窗口,用于查看一些 git 历史记录。
只需关闭该窗口即可解决该问题。
如果你正在开发一个 Web 应用程序,常见的原因是忘记关闭服务器。例如,这可能是一个简单的 Node.js 进程,或者在 Windows 上作为后台进程运行更加不引人注目的 IIS 进程。
我曾经遇到过这个错误,关闭正在打开该文件的应用程序解决了它。然后我就能回去按“Y”了。
你可能会在 Git 2.29(2020年第四季度)中更少地看到这个错误:MinGW 上的“unlink”仿真已经被优化。
请参见提交记录 680e0b4(2020年8月17日)作者是Jeff Hostetler(Jeff-Hostetler
)。
(由Junio C Hamano -- gitster
--合并于提交记录 5a04826,2020年8月19日)
mingw
: 改进 mingw_unlink()
的性能由 Jeff Hostetler 签署
由 Johannes Schindelin 签署
更新 mingw_unlink()
,在强制删除文件之前先尝试使用现有权限删除。
当尝试删除一个只读文件时,Windows 会抛出错误。
mingw_unlink()
的兼容包装器总是在调用 _wunlink()
之前尝试对文件进行 _wchmod(666)
,以避免该错误。
然而,由于大多数工作树中的文件已经可写,因此这通常是多余的努力。
更新 mingw_unlink()
,直接调用 DeleteFileW()
,如果成功就返回。
如果失败,则回退到现有的代码路径,更新权限并使用 _wunlink()
来获取现有的错误码映射。
where git
后返回 C:\Program Files\Git\cmd\git.exe
,所以我很确定这是Windows系统,这也可能是为什么版本中也有“windows”的原因。我在使用git时打开了VS Code,所以最受欢迎的答案可能正确,关于Code锁定文件的问题。 - harvzor对我来说,我必须进入我的.git文件夹并删除index.lock文件。之后,我可以像往常一样撤销。
我在进行git pull时遇到了同样的问题,正如上面所述,这是因为某个程序正在占用这些文件,不允许进行git pull。关闭该程序有所帮助。通常,检入文件的IDE(如Eclipse)将在后台占用它。关闭相同的IDE并重新运行git pull解决了我的问题。
git clone
时,遇到了这个错误。关闭SmartGit和备份软件(CrashPlan),然后它就可以正常工作了。不确定其中哪个起了作用,但如果您正在运行其中任何一个,这也可能适用于您。