GIT 拉取失败:“无法取消链接文件:参数无效”

问题描述 投票:0回答:16

这里是新的 GIT 用户,正在 Windows 服务器上管理 Moodle 课程网站系统。尝试对核心代码进行第一次 Pull 更新(使用 TortoiseGit),但它不起作用。由于“参数无效”,Git 无法取消要更新的 200 多个文件的旧版本的链接。我不知道这意味着什么。

这是我关闭 210 错误对话框后的样子: tortoisegit

我已经重新启动了服务器并在网络上搜索想法,但我不知道下一步该尝试什么。

任何想法都会非常赞赏!

git moodle invalid-argument
16个回答
212
投票

我也因为这个错误而损失了几个小时。

就我而言,我收到此错误是因为某些文件被另一个程序锁定。我必须关闭所有内容然后才能再次拉动。

希望这对某人有帮助:)


48
投票

错误消息显示 git 无法取消链接的文件名。在Windows中,您可以转到

Start Menu > Resource Monitor > CPU tab > Associated Handles
并搜索文件名(不是完整路径),然后您将得到锁定该文件的进程的结果。就我而言,是
explorer.exe
。所以我杀掉了那个进程,git 又按预期工作了。

我想您可以通过查找锁定文件的进程来使用其他操作系统执行相同的操作。


11
投票

使用时尝试关闭任何其他工具

Tortoisegit


9
投票

我在尝试从 gitlab 拉取时也遇到了取消链接问题。

根据 ivan866 和 Nicolas Leucci 的回答,为了解决这个问题,我只需在 管理模式 下打开我的 SourceTree 即可解决我的问题。我想 SourceTree 没有足够的权限来正确处理权限。总之值得一试!


7
投票

该问题与文件权限有关。在 Windows 7 上使用外部驱动器后可能会出现,然后再次在 Windows 10 上出现。特别是,将第一台计算机(即首先使用的计算机)置于休眠模式并打开应用程序是有风险的 - 在另一台计算机上使用相同应用程序的文件后重新连接驱动器后,许多打开的文件可能会损坏。
可以用 CHKDSK /f 来修复,但很可能混乱的文件会被删除。


2
投票

我重新启动了将“有问题的”文件拉入的电脑,同时关闭了另一台电脑上正在使用该文件并从中推送该文件的 IDE。成功了


2
投票

我正在 InteliJ 中运行一个程序,停止它会释放该文件。后来就成功了


1
投票

如果在 IDE 中打开解决方案,则会出现此问题,因为文件已锁定。尝试关闭解决方案,然后重新尝试操作。


1
投票

对我来说,我得到:

“错误:无法取消链接旧的“Library/ArtifactDB”:参数无效 错误:无法取消链接旧的“Library/SourceAssetDB”:参数无效 致命:无法将索引文件重置为修订版“HEAD”。”

一旦我关闭Unity Git,就可以正常工作了。我认为 Unity 权限一定让它变得有趣。


0
投票

我在合并分支时遇到了这个问题。使用管理员权限打开 Powershell 并在其中执行合并会有所帮助。


0
投票

就我而言,尽管重新启动了计算机并关闭了正在运行的所有 IDE,但我仍然遇到了问题,并且尝试在 sudo 模式下运行 git pull 返回了不同的错误。解决方案是你使用(在本地,所以这不是安全问题)

sudo chmod 777 path/to/folder/of/file
sudo chmod 777 path/to/folder/of/file/specificFile.ext


0
投票

对我来说,我必须关闭 Unity。从现在开始,我只在 Unity 关闭时使用推/拉。


0
投票

我通过删除git无法取消链接的本地文件解决了这个问题,并且工作正常


0
投票

如果您使用终端进行操作。始终首先提交/存储,以便您可以硬重置到以前的提交,以便能够获取最新的拉取


0
投票

在我的例子中,我添加了用于 Windows 勒索软件保护的文件夹,该文件夹锁定了文件并且不允许 github 进行交互。


0
投票

如果您使用 WSL,请改用 Git Bash

© www.soinside.com 2019 - 2024. All rights reserved.