我的本地git存储库中的一个文件发生了问题。当我试图改变分支时,它会说:

Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)

这意味着什么?


当前回答

在上面的答案似乎都不起作用之后,运行gitfetch-p为我完成了任务。

https://git-scm.com/docs/git-fetch

其他回答

我在进行git拉取时也遇到了同样的问题,如上所述,这是因为一个保存这些文件的程序不允许git拉。关闭程序有帮助。通常,签入文件的IDE(如Eclipse)将在后台保存文件。关闭同一个并重新运行git pull为我解决了问题。

这可能意味着另一个程序正在使用该文件,这会阻止git在您尝试更改分支时将文件“移入”工作目录或移出工作目录。

我在Windows Vista上遇到过这种情况,eclipse是“使用”文件的程序。该文件可能在eclipse中没有实际打开,但可能是由eclipse运行的进程打开的。

在这种情况下,请尝试在可能使用过该文件的任何应用程序中关闭该文件。如果这不起作用,请完全退出可能已打开该文件的所有应用程序。

我在Windows中遇到了这个问题,您可能希望以管理员身份运行gitbash,然后执行desire命令,这为我解决了这个问题。

如果您的操作系统主机与linux/unix类似,您可以运行git-gc-force来停止使用git文件的文件处理程序,

否则,如果您正在使用windows,则可以通过任务管理器或进程管理器停止git进程。似乎有另一个git进程正在使用您的git文件。只需终止git进程

您可能会在Git 2.29(2020年第4季度)中看到这种错误:MinGW上的“unlink”仿真已经优化。

见Jeff Hostetler(Jeff Hostet ler)提交的680e0b4(2020年8月17日)。(由Junio C Hamano(吉斯特)于2020年8月19日提交5a04826合并)

mingw:提高mingw_unlink()的性能签字人:Jeff Hostetler签字人:Johannes Schindelin

更新mingw_unlink(),首先尝试删除具有现有权限的文件,然后再尝试强制删除。Windows在尝试删除只读文件时引发错误。mingw_unlink()兼容性包装器总是在调用_wunlink()之前尝试_wchmod(666)文件以避免该错误。然而,由于工作树中的大多数文件都是可写的,这通常是浪费精力。更新mingw_unlink(),直接调用DeleteFileW(),如果成功,则返回。如果失败,则返回现有代码路径以更新权限,并使用_wunlink()获取现有错误代码映射。