Git pull error:无法创建文件(无效参数)

Amo*_*das 36 windows git filenames tortoisegit

我正在尝试将远程仓库与本地仓库同步,​​但会出现以下错误.一些文件(没有扩展)没有与WINDOWS机器上的本地存储同步,但我可以在MAC机器上成功同步.

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

  1. 使用TortoiseGit
  2. Windows 7 64位机器

错误详情

git.exe clone     --progress -v  "https://github.com/xxxx/xxxxx.git" "C:\Data\GitHub\simility\vishesh-common"

Cloning into 'C:\Data\GitHub\simility\vishesh-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)
Run Code Online (Sandbox Code Playgroud)

mor*_*rty 41

我遇到了同样的问题,但不愿意重命名或删除这些文件.所以这里是一个解决方法,以防您无需使用稀疏结账访问这些文件即可生存:

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

sparsecheckout = true
Run Code Online (Sandbox Code Playgroud)

然后转到该文件夹.git/info并创建该文件sparse-checkout.添加类似的东西

*
!kickstarter/parsers/data/kickstarter/campaigndetails/*
Run Code Online (Sandbox Code Playgroud)

第一行包含所有内容,而第二行排除所有文件kickstarter/parsers/data/kickstarter/campaigndetails/.你现在应该可以结帐回购.使用通配符你可以做更复杂的排除.


que*_*atl 24

如果我很好地阅读该日志,那些文件的名称以"?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但我不知道如何自动执行此操作,或者如何稍后通知Git有关该映射,抱歉..

这些文件名看起来像是带有后缀的HTML查询参数.真的需要吗?也许这只是一些可以删除的工件?尝试与项目的mantainer交谈,也许他们可以简单地删除那个奇怪的后缀?