当前位置:   article > 正文

取消链接文件失败。 我应该再试一次吗?_git取消链接失败,

git取消链接失败,

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

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

那是什么意思呢?


#1楼

就我而言,没有任何进程可以处理文件或目录。 如果路径很长,可能是由于操作系统限制(Windows)而发生的。 尝试如下所示在全局git配置中启用longpath支持标志:

git config --global core.longpaths true

或尝试设置是/否答案标志(如果它对您没有冲突)

set GIT_ASK_YESNO=false

如果路径太长,则找不到成功的解决方案。


#2楼

我在/.git/objects/pack文件夹中的.tmp文件有此问题。 我认为在推或拉过程中发生了某些故障,因此我删除了这些临时文件,并将HEAD重置为我的最后一次提交。 不知道是否建议这样做,但对我有用。 git count-objects -v给我列出了不属于pack文件夹的.tmp文件。

或者在Windows git open cmd.exe禁止显示y / n消息,请git open cmd.exe并运行:

SETX GIT_ASK_YESNO false

在这里看到: https : //twitter.com/petercamfield/status/494805475733807104


#3楼

我遇到了这个问题,并通过以下命令解决了该问题: git gc上面的命令删除了临时文件和不必要的文件。 (垃圾收集器。)


#4楼

这可能是一个单独的gitk窗口,正在运行以查看一些git历史记录。

只需关闭该窗口即可解决该问题。


#5楼

我遇到了同时运行git Bash和Eclipse EGit的问题。 解决方案:关闭Eclipse。 如@khilo所述,运行git gc也不会受到损害。


#6楼

从该解决方案在这里为我工作:

这是Windows特定的答案,所以我知道它与您无关...我只是为了将来的搜索者而包括它。

就我而言,这是因为我是从非提升命令行运行Git的。 “以管理员身份运行”为我修复了该问题。


#7楼

我在Windows 7上遇到过此类问题,结果是由于某些孤立的git.exe进程所致。

要解决该问题,请打开任务管理器并杀死所有git.exe进程。

由于git命令是短暂的,因此您通常git.exe在任务管理器中看到任何git.exe 。 当它们在那里时,通常意味着出了点问题,您应该终止这些进程。


#8楼

在我的情况下(Win8.1,正在运行TortoiseGit),正是锁定文件的过程称为“ TortoiseSVN状态缓存”。

杀死它可以使我运行“ git gc”而没有更多问题。 TortoiseGit启动了上述过程,因此无需手动重新启动它。


#9楼

我在进行git pull时遇到此问题。

我尝试了git gc ,它解决了我的问题。


#10楼

在Windows 8上:我运行了git gc,并说git gc已经在运行,我运行了git gc --force,然后运行了垃圾收集器。

然后,我可以切换分支并合并而没有任何问题,请尝试git gc --force。

也许gc进程由于某种原因没有正常停止。


#11楼

在尝试了各种解决方案之后,最终git clean -f帮助了我。

编辑:我几次再次遇到问题-关闭依赖git的所有进程似乎有帮助(例如gitbash,Eclipse IDE等)


#12楼

在以上答案均无效后,运行git fetch -p对我有用。

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


#13楼

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


#14楼

我在Windows中遇到了这个问题。 我关闭了IDE(Android Studio),并在git shell中选择了YES。 有效。


#15楼

我在做“ git pull”时也遇到了同样的问题。 我尝试了手动整理git命令'git gc',它解决了我的问题。


#16楼

如上所述,还有其他内容正在保存文件。 问题是该程序对我们来说似乎并不可疑。 打开GitKraken时,我试图从控制台进行git pull。 关闭GitKraken解决了该问题。


#17楼

这对某人可能有用; 如果上述所有方法都不适合您,请按照以下步骤操作:

  1. 关闭您的IDE(我的设备是Eclipse,不确定它是否适用于Intellij等),或者关闭任何其他可能使用git的应用程序。

  2. 从命令行打开git(在我的情况下,我有git bash),然后像其他人提到的那样运行git gc

这为我带来了魔力。


#18楼

在Windows上,在(相当大)存储库的git clone上看到此错误。 关闭SmartGit并暂停我的备份软件(CrashPlan),然后运行。 不确定2个中的哪个成功了,但是如果运行其中一个,这也可能对您有用。


#19楼

进行git pull时,我遇到了同样的问题,如上所述,这是因为程序保留了这些文件,并且不允许进行git pull。 结束程序很有帮助。 通常,从中检入文件的IDE(如Eclipse)会将其保留在后台。 关闭相同的文件并重新运行git pull可以为我解决问题。


#20楼

运行后命令

git rm -rf foo.bar

我看到错误

Unlink of file 'foo.bar' failed. Should I try again? (y/n)

因为另一个程序正在使用此文件 。 例如,当我以调试模型运行Java Web应用程序或在服务器上运行Web应用程序时,无法删除日志文件。 关闭应用程序服务器(或关闭调试过程),然后重试

git rm -rf foo.bar

我看到文件已被删除。


#21楼

我遇到了同样的错误,并关闭了打开文件的应用程序,从而解决了该问题。 我可以回去按“ Y”


#22楼

如果要开发Web应用程序,则常见的原因是忘记关闭服务器。 例如,这可能是一个简单的Node.js进程,或者在Windows上,您的IIS进程作为后台进程运行时更加流畅。


#23楼

当我使用gitkraken和命令提示符时,我遇到了同样的问题。 然后我运行git gc命令,它解决了我的问题。 所以我很高兴,并希望分享一些可能有用的观点。

git gc会做什么?

git gc删除可能是由先前git add调用创建的无法访问的对象。

什么时候运行git gc

doc开始 ,鼓励用户在每个存储库中定期运行此任务,以保持良好的磁盘空间利用率和良好的运行性能。

如何使其可自动配置?

一些git命令可能会自动运行git gc; 有关详细信息,请参见下面的--auto标志。 如果您知道自己在做什么,并且想要做的就是永久禁用此行为而无需进一步考虑,请执行

git config --global gc.auto 0

#24楼

我尝试了git gc ,它解决了我的问题。


#25楼

我尝试了此页面上的每条提示,但没有任何帮助。 我正在执行git fetchgit reset --hard origin/development给了我未知的错误。 我无法重置为最新提交。

帮助的是签出另一个分支,然后签出上一个分支。 很奇怪,但是它解决了问题。


#26楼

在我的情况下,有一个用于打开该特定文件的复制或替换窗口,因此出现了取消链接错误。 我关闭了它,没有解除链接错误


#27楼

我可以通过以管理员身份打开Powershell并从那里git checkout <branch_name>来解决此问题。


#28楼

如果关闭您的IDE并运行此处列出的各种git命令无济于事,请尝试手动杀死所有正在运行的Java进程。 我的eclipse可能留下了一个Java进程,以某种方式使配置文件保持打开状态。


#29楼

如果您使用Docker并运行Windows 10,则可能要停止文件可能在其上运行的容器。 要显示容器的状态,请运行

docker ps -a

要阻止它们,只需运行

docker stop <container name or container id>

这对我有用,因为我正在使用.sh文件运行本地文件


#30楼

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/733331
推荐阅读
相关标签
  

闽ICP备14008679号