簡體   English   中英

將更改暫存到存儲庫時 git 損壞了管道

[英]git broken pipe when staging changes to repository

當我嘗試將更改暫存到當前空的存儲庫時會發生此錯誤:

error writing "file2e7f660": broken pipe
error writing "file2e7f660": broken pipe
    while executing
"puts -nonewline $fd "[encoding convertto utf-8 $path]\0""
    (procedure "write_update_index" line 34)
    invoked from within
"write_update_index file2e7f660 {public/Aanmeegamalar/desktop.ini public/google10c909b6a3b8.html public/hehe.txt public/..."

我使用 Git GUI 來完成這項工作,因為當我使用 git bash 時,即使我添加了目錄git add public ,它也只會添加一個文件。 什么可以解決這個問題? 我搜索了答案,但git config http.postBuffer 209715200並沒有解決問題。

編輯:我也嘗試重新安裝 git,但它似乎並沒有解決問題。

編輯2:操作系統是windows 7 32bit。

我通過一次一個目錄一個目錄地暫存文件解決了這個問題,而不是試圖一次暫存所有 200 多個文件。

我在大目錄清理后嘗試暫存大約 200 個文件更改時遇到此錯誤。

我無法通過以管理員身份運行來解決此問題。 我無法通過檢查文件的讀取權限來解決這個問題。

我意識到這是一個老問題,但我自己剛剛遇到了這個問題。 在我的情況下,我試圖暫存的文件之一被鎖定。 我在 Git GUI 中收到了管道損壞消息,但是當我從 Windows cmd 行嘗試git add ,我收到了一條權限被拒絕的消息,告訴我哪個文件是問題所在。

容易解決。 您看到此錯誤是因為無權寫入文件夾。

當您嘗試為文件夾創建新的存儲庫時 - 嘗試在您是所有者並擁有寫入權限的位置創建它。

如果您已經嘗試推送並收到此錯誤 - 刪除 .git 文件夾,請設置在此文件夾中寫入的權限並再次創建 repo。 確保您可以看到文件夾中的隱藏文件。

這個錯誤對我有用,出於某種原因在微軟,即使我是管理員,並且有管理員權限,(與管理員不同的用戶名),我仍然沒有對所有文件夾的完全權限,???

因此,我不得不將我添加到與 Git-Gui 一起使用的文件夾的安全性中。 在我這樣做之后,我確保我以管理員身份啟動 Git-Gui,瞧,它奏效了!

這當然是在 Windows 機器上。 至於Linux,它也會相似......

我希望這對其他人有幫助。

當我需要在 Git GUI 中分階段不同的項目時,我遇到了同樣的問題。 解決方案:關閉所有使用這些文件的程序可以在 Git UI 中暫存項目。

Windows 10 1909,Git 2.25.1

除了塞爾吉奧的答案外,我的 5 美分對我的情況進行了輕微調整:

我想為 metatrader5 文件創建公共存儲庫,這些文件位於 C:\Users\YourUsername\AppData\Roaming\MetaQuotes\Terminal\terminal_hash\MQL5 之類的系統中,它受用戶“系統”的保護,該用戶設置了只讀權限文件夾,即使您將更改權限並保存更改。

因此,我刪除了該 MQL5 文件夾(未來的 git 存儲庫)的繼承,並刪除了除所有者之外的所有其他具有完全訪問權限的用戶 - 在我正在工作的用戶下具有管理員權限的用戶。 在刪除並重新初始化 git 之后,它工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM