[英]Git pull error: unable to create file (Invalid argument)
我正在嘗試將遠程回購與本地回購同步,但出現以下錯誤。 有些文件(沒有擴展名)沒有與 WINDOWS 機器上的本地存儲庫同步,但我可以在 MAC 機器上成功同步。
WINDOWS 中是否有任何配置設置來處理這種情況?
錯誤詳情
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)
我遇到了同樣的問題,但不願意重命名或刪除這些文件。 所以這里有一個解決方法,以防你可以在不使用稀疏結帳訪問這些文件的情況下生活:
轉到 repo 中的.git
文件夾並打開文件config
。 (您也可以使用 tortoise-git 編輯您的配置,但我沒有在這里安裝它。)在[core]
部分添加行
sparsecheckout = true
然后轉到文件夾.git/info
並創建文件sparse-checkout
。 添加類似的東西
*
!kickstarter/parsers/data/kickstarter/campaigndetails/*
第一行包含所有內容,而第二行排除kickstarter/parsers/data/kickstarter/campaigndetails/
中的所有文件。 您現在應該可以簽出 repo。 使用通配符,您可能可以進行更復雜的排除。
如果我很好地閱讀了該日志,這些文件的名稱以“?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-query-parameters 后綴。 真的需要嗎? 也許這只是一些可以移除的神器? 嘗試與項目的維護者交談,也許他們可以簡單地刪除那個奇怪的后綴?
我正在使用 bitbucket,它具有刪除問題文件的功能。
這就是我所做的。
一般來說,如果您在 Windows 上收到此 git“無效參數”錯誤,請嘗試確保您的 /.git/ 文件夾未設置為“只讀”。 這為我修好了。
我遇到了這個問題,並嘗試了上面的一些解決方案,但沒有成功。
我所做的很奇怪,但對我有用,我:
我為 2 個不同的文件做了這個,它至少對我有用。 如果您只有一個或 2 個文件導致問題,那么在嘗試其他方法之前先嘗試簡單/快速的方法。
對我來說,當我在 Windows 機器上工作時發生了這個錯誤。 git repo 被克隆到 One-Drive 中。 Altimately,在將 git 位置更改為 One-Drive 外部后,對我有用。 不知何故,One-Drive 無法更新我試圖提交的文件索引。 您可以在 One-Drive 位置之外嘗試,也可以嘗試重置為之前的提交,然后進行更新。
我也面臨“Git:無法寫入文件,無效對象”並嘗試了很多方法,但沒有任何效果。 或者,我嘗試了一種簡單的方法,我在本地創建了新的 repo 文件夾,然后再次結帳分支並實施更改。 然后提交,它可以工作。
請注意,在收回更改之前,或者如果您正在為 repo 創建新文件夾,則不要刪除,直到您的更改提交到文件夾中。 我也在寫一個塊,你可以在谷歌上搜索“techchetan by chetan”,在 TechChetan 上搜索 go(學習和成長)
我在本地發生了類似的事情:我突然無法執行git add -A
並收到以下消息:
錯誤:無法寫入 file.git/objects/99/8fe363fa337daab318f7fc378727d9dcce28d5:參數無效錯誤:[某些文件].js:無法插入數據庫錯誤:無法索引文件'[某些文件].js'致命:添加文件失敗
我從 repo 中刪除了文件(暫時將其復制到其他地方),提交並將 repo(沒有有問題的文件)推送到 GitHub。然后,在 GitHub 中,我手動添加文件並提交。
此時,拉到我的本地機器失敗了。 我刪除了目錄/repo,並從 GitHub 獲得了一個新的克隆。這是一個奇怪的解決方案,但它似乎有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.