Git拉取错误:无法创建文件(无效参数)

l7wslrjt  于 2022-09-21  发布在  Git
关注(0)|答案(6)|浏览(318)

我正在尝试同步远程回购和本地回购,但收到以下错误。一些文件(没有扩展)无法与Windows机器上的本地Repo同步,但我可以在Mac机器上成功同步。

Windows中是否有任何配置设置来处理这种情况?

1.使用TortoiseGit
1.Windows 7 64位计算机

错误详细信息

git.exe clone     --progress -v  "https://github.com/xxxx/xxxxx.git" "C:DataGitHubsimilityvishesh-common"

Cloning into 'C:DataGitHubsimilityvishesh-common'...
POST git-upload-pack (200 bytes)
remote: Counting objects: 3912, done.
remote: Compressing objects: 100% (487/487), done.
Receiving objects: 100% (3912/3912), 2.70 MiB | 567.00 KiB/s, done.
Resolving deltas: 100% (1578/1578), done.
remote: Total 3912 (delta 409), reused 0 (delta 0)
Checking connectivity... error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030050305_fantasy-trilogy-spin?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030295038_laser-dogs?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030315317_arizona-native-bird-painting-series?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030315317_native-birds-ii?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030552097_ikeyboard-0?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030552097_ikeyboard?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030552097_only-you-can-prevent-computercide?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030552097_vector-cupholder-protect-your-laptop-and-your-lap?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_103055429_death-of-an-angel?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030650665_rachel-vanslyke-making-a-new-record-together-we-ca?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1030835091_russian-trucks-of-world-war-two?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1031873800_prop-expansion-next-level?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1031873800_prop-project-expansion?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1099860912_yaw-clock?ref=users (Invalid argument)
error: unable to create file kickstarter/parsers/data/kickstarter/campaigndetails/_projects_1099992656_heavenly-sight-a-vision-out-of-blindness?ref=users (Invalid argument)
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status' and retry the checkout with 'git checkout -f HEAD'

git did not exit cleanly (exit code 128) (21746 ms @ 29-09-2014 13:32:13)
xzlaal3s

xzlaal3s1#

我遇到了同样的问题,但不愿意重命名或删除这些文件。因此,如果您不需要使用稀疏 checkout 来访问这些文件,那么这里有一个解决方法:

转到您的repo中的.git文件夹并打开文件config。(您也可以使用tortoise-git编辑您的配置,但我还没有在这里安装它。)在e1d2d1部分中添加该行

sparsecheckout = true

然后转到文件夹.git/info并创建文件sparse-checkout。添加如下内容


* 

!kickstarter/parsers/data/kickstarter/campaigndetails/*

第一行包括所有内容,而第二行不包括kickstarter/parsers/data/kickstarter/campaigndetails/中的所有文件。现在您应该能够检出回购了。使用通配符,您可能可以进行更复杂的排除。

amrnrhlw

amrnrhlw2#

如果我没看错日志,这些文件名称以“?ref=USERS”结尾

Windows不允许您使用‘?’在文件名中,就像它不允许有“\”或“*”一样。在Linux下,如果您对这些字符进行转义,这是可能的。在Windows上,我认为这是完全不可能的。见http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247

这样的名字你会很难受的..事实上,我想不出任何可以让你1:1同步的想法。你当然可以获取它们,并以_projects_1099992656_heavenly-sight-a-vision-out-of-blindness__ref=users这样的安全名称保存它们,但我不知道如何自动执行这一操作,也不知道如何稍后将该Map通知Git,对不起。

这些文件名看起来像是带有后缀的HTML-Query-PARAMETS。这真的是必须的吗?也许那只是一些可以被移除的艺术品?试着和项目经理谈谈,也许他们能简单地去掉那个奇怪的后缀?

kdfy810k

kdfy810k3#

我正在使用BitBucket,它有删除问题文件的功能。

这就是我要做的。

1.转到您的存储库。
1.选择菜单“提交”。
1.选择要删除问题文件的分支机构。
1.转到您的文件并单击它。您将看到文件概述,其中显示了文件的详细信息,例如您的代码、此文件提交的日期和时间等。
1.看右上角,你会看到带向下箭头的按钮(类似于字母v)点击它。
1.它将下拉并显示其中的重命名按钮和删除按钮。
1.然后由您选择,将其重命名或删除。做出明智的选择。
1.点击按钮后。BitBucket将显示一个对话框,按它所说的做并使用提交按钮提交您的文件。
1.提交后,您可以返回到Souretree并毫无问题地拉取代码。
1.尽情享受!

sf6xfgos

sf6xfgos4#

我遇到了这种情况,并尝试了上面的几个解决方案,但都没有成功。

我做的事情很奇怪,但对我来说很管用,我:

1.将我对%1文件的所有更改复制到记事本
1.Git中恢复的更改
1.用我更新的代码从记事本复制文本
1.再次保存包含更改的文件
1.使用Git Desktop推送更改
1.这一次起作用了。

我为两个不同的文件这样做了,它至少对我有效。如果你只有一个文件或2个导致问题的文件,那么在你尝试其他文件之前,可以先试一试。

8nuwlpux

8nuwlpux5#

对我来说,这个错误发生在我在Windows机器上工作的时候。Git Repo被克隆到One-Drive中。总而言之,在把Git的位置改到室外后,One-Drive对我很管用。不知何故,One-Drive无法更新我试图提交的文件索引。您可以在单驱动器位置之外尝试,或尝试重置为上一次提交,然后更新。

31moq8wy

31moq8wy6#

我也面临着“Git:无法写入文件,无效对象”的问题,尝试了许多方法,但都没有奏效。或者,我尝试了一种简单的方法,我已经在本地创建了新的repo文件夹,并再次从分支机构结账并实施更改。然后承诺,它就会奏效。

请注意,在执行之前只需收回更改,或者如果您正在为repo创建新文件夹,则在您的更改提交到文件夹之前不要删除。

相关问题