我的本地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)
这意味着什么?
当前回答
这可能对某人有用;如果以上所有操作都不适用,请执行以下步骤:
关闭您的IDE(我的是Eclipse,不确定它是否适用于Intellij和其他应用程序)或任何其他可能使用git的应用程序。从命令行打开git(在我的例子中,我有gitbash),并运行其他人提到的gitgc。
这对我有魔力。
其他回答
我在Windows7上遇到了这种问题,结果是由于一些孤立的git.exe进程。
要解决此问题,请打开任务管理器并终止所有git.exe进程。
由于git命令是短时间的,因此您通常不会在任务管理器中看到任何git.exe。当它们出现时,通常意味着出现了问题,您应该终止这些进程。
对我来说,我必须进入.git文件夹并删除index.lock文件。之后,我可以像往常一样撤销。
在尝试了各种解决方案后,gitclean-f终于帮了我。
编辑:我几次又碰到了这个问题——关闭所有依赖git的进程似乎有帮助(比如gitbash、EclipseIDE等)
这可能意味着另一个程序正在使用该文件,这会阻止git在您尝试更改分支时将文件“移入”工作目录或移出工作目录。
我在Windows Vista上遇到过这种情况,eclipse是“使用”文件的程序。该文件可能在eclipse中没有实际打开,但可能是由eclipse运行的进程打开的。
在这种情况下,请尝试在可能使用过该文件的任何应用程序中关闭该文件。如果这不起作用,请完全退出可能已打开该文件的所有应用程序。
在Windows 8上:我运行了git-gc,它说git-gc已经在运行,我运行了git-gc-force,垃圾收集器运行了。
然后,我可以切换分支和合并而没有任何问题,尝试git-gc-force。
也许gc进程没有因为这样或那样的原因而优雅地停止。