簡體   English   中英

Git,錯誤:遠程解壓失敗:無法創建臨時目錄 object - 通過創建新分支

[英]Git, error: remote unpack failed: unable to create temporary object directory - By creating new Branch

我正在嘗試在我的回購中創建一個新分支。

我這樣做了:

git branch events
git Checkout events

那奏效了。 所以我更改了一些文件並做了:

git Status
git add --all
git commit -m "Commit"

這很有效,但我試圖推動它但沒有奏效:

git push -u origin events

這是錯誤:

Enumerating objects: 9, done.                                                                                                                       
Counting objects: 100% (9/9), done.                                                                                                                 
Delta compression using up to 4 threads.                                                                                                            
Compressing objects: 100% (5/5), done.                                                                                                              
Writing objects: 100% (5/5), 716 bytes | 716.00 KiB/s, done.                                                                                        
Total 5 (delta 4), reused 0 (delta 0)                                                                                                               
error: remote unpack failed: unable to create temporary object directory                                                                            
To http://git.int.censoredlink/scm/freeb/freebrep.git                                                                                       
 ! [remote rejected] events -> events (unpacker error)                                                                                              
error: failed to push some refs to 'http://stsu@git.int.censoredlink/scm/freeb/freebrep.git'

我不知道為什么它不起作用。

我對 Repo 擁有管理員權限。 我審查了回購協議的鏈接,因為它是一個帶有私人鏈接的內部回購協議。

此錯誤消息:

 error: remote unpack failed: unable to create temporary object directory

表示服務器上的 Git 存儲庫(不是您的 Git)空間不足,或遇到類似的服務器問題, 1或安裝不正確。 也就是說,給定:

 To: http://git.int.censoredlink/scm/freeb/freebrep.git

您必須登錄到在git.int.censoredlink處提供 HTTP 流量的機器,進入scm/freeb/freebrep.git目錄,並在那里更正安裝。 這很可能是一個權限問題:接收方 Git 必須能夠在對象區域中創建一個名為incoming-XXXXXX的目錄,其中X被唯一標識符替換,然后在該目錄中創建一個pack目錄。

所有傳入的對象和包文件都放置在這些目錄中,在某種隔離過程中,直到服務器端 Git 掛鈎對引用名稱更新請求感到滿意為止。 如果推送失敗,則簡單地刪除隔離目錄。 如果推送成功,則將隔離對象和/或包文件遷移(並調整瘦包)到正常對象存儲區。 請注意,即使隔離過程成功,遷移也可能失敗; 但如果這樣做,您會收到一個不同的錯誤報告給客戶端。 (此錯誤也必須在服務器上更正。)

注意:推送到http://而不是https://ssh:// URL 是很不尋常的。 檢查您的服務器配置以查看誰將擁有由此創建的各種文件,以及 Web 服務器將擁有哪些權限。


1如果硬盤驅動器出現故障,Linux 有時會將驅動器和/或其文件系統標記為只讀。 或者,即使您有磁盤空間,也可能會耗盡 inode。 許多不同的根本原因都會導致在您的客戶端上觀察到相同的行為。 如果您是檢查服務器的 Linux 管理員,請查找系統日志消息,並考慮dfdf -i輸出。

如果您以root user身份工作,請先將用戶更改為your git user ,然后init your git directory

  1. 如果你是 root -> $ [root@server ~]#
  2. 更改用戶-> $ su - 用戶名
  3. 初始化一個 git repo -> [username@server ~] $ git init --bare git-repo.git
  4. 從客戶端推送-> 現在您可以從客戶端推送:
    git remote add yourAliasName ssh://username@IP-or-HOST:sshPort/home/username/git-repo.git

筆記:
我假設您已經在客戶端中創建了一個public/private key並將公鑰傳遞給/home/username/.ssh/authorized_keys服務器文件。 否則,您必須在步驟 (4) 之前執行此操作。

在刪除遠程 git 存儲庫中的 .git 子目錄之前,我遇到了同樣的錯誤。

.git 子目錄不能被 git 登錄帳戶寫入。 最初我在嘗試提交時遇到了權限問題,我懷疑 .git 子目錄是當時創建的。

由於此錯誤消息,我被重定向到這里。

錯誤:遠程解包失敗:無法創建臨時對象目錄

僅供參考:當您以只讀方式安裝 git 目錄時也會發生這種情況

例如xxxx:/nas/git on /mnt/git type nfs (ro,.....

最近我確實遇到了這個錯誤。 問題是用戶沒有足夠的權限,例如 git remote add production ssh://username@{your-ip}/var/test/test.git` 確保用戶名沒有權限

90% 的機會是權限問題。

  1. 登錄到遠程服務器。
  2. 導航到“freebrep.git”所在的“/scm/freeb”。
  3. 調用 chown -R yourusername freebrep.git (您的用戶名是 stsu )
  4. 再試一次。 現在它應該允許寫入對象。

當我嘗試推送到“審查的 git 服務器”時,我遇到了同樣的錯誤。 問題出在服務器端。 您可以等待一段時間,直到服務器正確恢復在線狀態,或者聯系管理員進行修復:)

假設您在 Mac 上連接到 AWS 上自己的 ubuntu 服務器。

您很可能會以用戶“ubuntu”的身份進行連接

如果權限不是問題(只有您自己),只需登錄您的 ubuntu 服務器,然后

] chown ubuntu:ubuntu

所有有問題的 git 目錄。 那會工作得很好。

對我來說,這是一個懸空的、崩潰的 gitk-session:在一個 windoze 機器上專門阻止文件訪問。

問題:- 錯誤:遠程解壓失敗:無法創建臨時目錄 object 至https://url.com/scm/som/project.git :[遠程拒絕] release/project-PROD-year_month_WeekNumber -> release/project-PROD -year_month_WeekNumber(解包器錯誤)錯誤:無法將某些引用推送到“https.//url.com/scm/som/project.git”

解決方案:-打開 gitbash 轉到項目根目錄。

chmod 777 *

然后再次嘗試 git 推送

它對我有用

暫無
暫無

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

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