2014-09-29 70 views
17

我試圖用本地回購同步遠程回購,但得到以下錯誤。某些文件(沒有擴展名)在WINDOWS機器上沒有與本地回購同步,但我可以在MAC機器上成功同步。Git pull error:無法創建文件(無效參數)

在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) 

回答

15

如果我讀了記錄良好,這些文件具有與結尾的名稱「?REF =用戶「

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-query-parameters後綴給它們。它真的需要嗎?也許這只是一些可以刪除的神器?嘗試與項目的主角交談,也許他們可以簡單地刪除那個奇怪的後綴?

20

我遇到了同樣的問題,但不願意重命名或刪除這些文件。所以這裏有一個解決方法,以防您可以使用稀疏結帳訪問這些文件:

轉到您的回購中的.git文件夾並打開文件config。 (您也可以用烏龜的git編輯您的配置,但我沒有帶得在這裏安裝。)在[core]部分添加行

sparsecheckout = true 

然後去到該文件夾​​.git/info和創建文件sparse-checkout。添加類似

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

第一行包含的一切,而第二排除所有文件kickstarter/parsers/data/kickstarter/campaigndetails/。您現在應該能夠檢出回購。使用通配符,你可能會做更復雜的排除。

+0

這是偉大的,超級有用,謝謝你 – blueimpb 2017-05-11 21:20:44

2

我正在使用bitbucket,它具有可以刪除問題文件的功能。

這就是我所做的。

  1. 轉到您的存儲庫。
  2. 選擇菜單「提交」。
  3. 選擇您想要刪除問題文件的分支。
  4. 轉到您的文件,然後單擊它。您將到達顯示文件詳細信息的文件概述,例如你的代碼,這個文件的日期時間,等等。
  5. 看右上角,你會看到帶有向下箭頭的按鈕(類似於字母v)點擊它。
  6. 它會下拉並顯示你重命名按鈕和刪除它裏面的按鈕。
  7. 然後這是你的選擇,將重命名或刪除它。做出明智的選擇。
  8. 單擊按鈕後。 Bitbucket會向您顯示一個對話框,並按提交按鈕提交您的文件。
  9. 提交後,您可以返回到sourcetree並且沒有任何問題拉你的代碼。
  10. 享受!