1. 程式人生 > >【Git學習】解決git push操作的時候出錯,提示 error: unpack failed: unable to create temporary object directory

【Git學習】解決git push操作的時候出錯,提示 error: unpack failed: unable to create temporary object directory

一、問題描述

剛剛在敲完某個模組的程式碼,提交程式碼到那麼本地分支,然後push到遠端分支的時候,出現了下面的錯誤,提示我Push rejected。然後沒有其他的提示了。

這裡寫圖片描述

使用 git bash 終端,輸入git push 命令,也提示被拒絕,如下所示:

這裡寫圖片描述

[email protected] MINGW32 /d/GitLab Source/XTCWatch_TalentAccount/XTCWatch (feature/TalentAccountWatchChangeAssistant)
$ git push
Counting objects: 59, done.
Delta compression using
up to 8 threads. Compressing objects: 100% (51/51), done. Writing objects: 100% (59/59), 7.13 KiB | 0 bytes/s, done. Total 59 (delta 43), reused 0 (delta 0) error: unpack failed: unable to create temporary object directory To 172.28.xxx.xxx:Android/PhoneApp/XTCWatch.git ! [remote rejected] feature/TalentAccountWatchChangeAssistant -> feature/TalentAccountWatchChangeAssistant (unpacker error
) error: failed to push some refs to '[email protected]:Android/PhoneApp/XTCWatch.git'

二、解決問題

1、檢視.git目錄許可權

提示: unable to create temporary object directory

無法建立臨時目錄,看樣子應該是許可權問題,懷疑是.git資料夾寫許可權問題。

我去查看了下遠端伺服器上的協議許可權如下所示:

root@ubuntu4146:/data/gitlabData/repositories/Android/PhoneApp# ll
total 32
drwxrwx--- 8 git git 4096 1031 2017 ./ drwxrwx--- 9 git git 4096 67 15:00 ../ drwxrwx--- 6 git git 4096 1115 2017 Document.git/ drwxrwx--- 6 git git 4096 1031 2017 Document.wiki.git/ drwxr-xr-x 6 git git 4096 83 16:47 XTCWatch.git/ drwxrwx--- 6 git git 4096 126 2017 XTCWatchI18N.git/ drwxrwx--- 6 git git 4096 814 2017 XTCWatchI18N.wiki.git/ drwxrwx--- 6 git git 4096 814 2017 XTCWatch.wiki.git/ root@ubuntu4146:/data/gitlabData/repositories/Android/PhoneApp#

這裡寫圖片描述

發現 XTCWatch.git的許可權變成了 drwxr-xr-x 6 git git 4096 8月 3 16:47 XTCWatch.git/

表示許可權的10個字元用於確定不同使用者能對檔案幹什麼

  • 第一個字元代表檔案(-)、目錄(d),連結(l)

其餘字元每3個一組(rwx),讀(r)、寫(w)、執行(x)

  • 第一組rw-:檔案所有者的許可權是讀、寫,但是不能執行

  • 第二組r-x:許可權是讀、執行,但是不能寫

  • 第三組r-x:許可權是讀、執行,但是不能寫

也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7

因此,我們push所以會失敗就是因為我們沒有許可權進行寫。

2、檢視為什麼不能寫的原因

我懷疑是不是系統磁碟不夠用了,去查了下系統剩餘磁碟。 好傢伙,居然一點磁碟剩餘空間都沒有了。

[email protected]:/data/gitlabData/repositories/Android/PhoneApp# df -h 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        28G   14G   13G  52% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             32G  4.0K   32G   1% /dev
tmpfs           6.3G  1.8M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             32G  4.0K   32G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/sda5       238G   60M  226G   1% /home
/dev/sdb        1.8T  1.8T     0 100% /data
You have new mail in /var/mail/root
[email protected]:/data/gitlabData/repositories/Android/PhoneApp# 

這裡寫圖片描述

如上圖所示:/data目錄磁碟已滿,而gitlab的倉庫就放在/data目錄下。因此就無法進行寫操作啦。

好吧,我去清理下垃圾資料,要保證磁碟可用。清理完後的磁碟剩餘空間情況如下所示:

root@ubuntu4146:/data/gitlabData/repositories/Android/PhoneApp# df -h 
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        28G   14G   13G  52% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev             32G  4.0K   32G   1% /dev
tmpfs           6.3G  1.8M  6.3G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             32G  4.0K   32G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/sda5       238G   60M  226G   1% /home
/dev/sdb        1.8T  1.7T   91G  95% /data
root@ubuntu4146:/data/gitlabData/repositories/Android/PhoneApp# 

這裡寫圖片描述

清理完磁碟空間之後,我再進行push操作就可以使用了。

這裡寫圖片描述

下午04:05分的時候,還是不能git push的

下午 04:05 Push rejected: Push feature/TalentAccountWatchChangeAssistant to origin/feature/TalentAccountWatchChangeAssistant was rejected by remote

將GitLab伺服器的磁碟清理完畢之後,再次git push 即可成功了。

下午 04:47 Push successful: Pushed 157 commits to origin/feature/TalentAccountWatchChangeAssistant

總結

出現git push 失敗,提示 : unable to create temporary object directory 。肯定是遠端伺服器對應的倉庫許可權不夠了。至於為什麼會許可權不夠的原因可能有很多種,需要根據實際情況去判斷。這一次我遇到問題是因為GitLab伺服器的磁碟已經沒有了,導致無法進行寫檔案操作。

其他讀者遇到此問題,可以僅僅參考,然後自己去解決實際問題。如果你不是git伺服器的管理員之類的,可以嘗試聯絡管理員來解決!

這裡寫圖片描述

如果覺得本文對您有所幫助,歡迎您掃碼下圖所示的支付寶和微信支付二維碼對本文進行隨意打賞。您的支援將鼓勵我繼續創作

這裡寫圖片描述

相關推薦

Git學習解決git push操作的時候出錯提示 error: unpack failed: unable to create temporary object directory

一、問題描述 剛剛在敲完某個模組的程式碼,提交程式碼到那麼本地分支,然後push到遠端分支的時候,出現了下面的錯誤,提示我Push rejected。然後沒有其他的提示了。 使用 git bash 終端,輸入git push 命令,也提示被拒絕,如下所示

Git學習解決GitLab記憶體消耗大的問題

一、問題描述 今天有提示反饋Gitlab伺服器push不上去,讓我看看是不是Gitlab伺服器出了什麼問題。 我查看了下gitlab線上的資訊 這臺伺服器消耗了31.3GB記憶體。 然後我11:14分嘗試去連線Gitlab伺服器,發現要很久很久才連線上。

Git學習使用git reflog 命令來檢視歷史提交記錄並使用提交記錄恢復已經被刪除掉的分支

一、問題描述 昨天下午有個同事急急忙忙跑我座位上,要我幫忙,說他剛剛因為手誤,將他本地的某個project的某個branch分支刪除了,並且也將Gitlab上面的分支也刪除了。他本來是想發起merge request的,但是後面他眼神不好以為已經merged過了

Python學習解決pandas中打印DataFrame行列顯示不全的問題

需要 pandas pre pytho 如果 clas panda 顯示不全 可能 在使用pandas的DataFrame打印時,如果表太長或者太寬會自動只給前後一些行列,但有時候因為一些需要,可能想看到所有的行列。 所以只需要加一下的代碼就行了。 #顯示所有列 pd.se

Jenkins學習 解決Jenkins節點編譯android專案出現錯誤:[Gradle]

一、錯誤描述 今天Jenkins節點編譯伺服器出現了磁碟不足,在該節點伺服器上移動了部分目錄,刪除了部分檔案之後,再次編譯的時候出現了錯誤,如下所示: [Gradle] - Launching build. [Gradle] - [ERROR] Can't re

Jenkins學習 解決jenkins執行磁碟滿的問題

一、背景 今天有同事編譯Jenkins的相關Jobs的時候,出現了編譯成功,但是輸出產物失敗的情況,如下圖所示: Caused by:java.io.IOException: No space left on device at java.i

Visual Studio解決方案未保存請先保存你的解決方案然後再管理Nuget包

保存 管理 直接 解決方案 自動生成 多個項目 pretty 外包 設置 公司接受的外包項目,文件夾中沒有.sln文件,用VS打開.csproj文件來打開方案。此時可能因為一些引用問題想打開Nuget包管理器,會彈出如下提示: 解決方案未保存,請先保存你的解決方案,然後再管

node學習koa2搭建簡單的伺服器讀取json檔案開啟圖表專案

需求:用koa2搭建一個簡單的伺服器,能夠讀取json檔案開啟echarts圖表專案。我們知道,不能直接開啟圖表檔案,可以使用hbuilder這種自帶內建伺服器的編輯器,或者vscode的live-server外掛開啟。如果不想在電腦上下載很多編輯器,可以手動用node搭建一個。 1.安裝k

Python3報錯解決方法Fatal error in launcher: Unable to create process using '"'

windows下python2,python3並存,用pip3安裝pygame或者其他第三方庫時,報錯如下: Fatal error in launcher: Unable to create process using '"' 解決方法: C:\

YOLO學習召回率(Recall)精確率(Precision)平均正確率(Average_precision(AP) )交除並(Intersection-over-Union(IoU))

摘要 在訓練YOLO v2的過程中,系統會顯示出一些評價訓練效果的值,如Recall,IoU等等。為了怕以後忘了,現在把自己對這幾種度量方式的理解記錄一下。 這一文章首先假設一個測試集,然後圍繞這一測試集來介紹這幾種度量方式的計算方法。 大雁與飛機

git push error unable to create temporary sha1 filename

問題描述 今天push程式碼  發現git報錯如下 unable to create temporary sha1 filename! 網上找了下  發現幾乎沒有這個問題 有幾個相似的問題 有的說版本庫xxx.git許可權不對  登陸到伺服器上 排查過程 [xxx@x

Python錯誤windows下使用pip/easy_install提示Fatal error in launcher: Unable to create process using...

windows下的python安裝完成後,會在python的安裝目錄scripts下生成幾個exe檔案,其中包括easy_install和pip, 我們將上述路徑新增到系統的環境變數後,在正常情況 下是可以使用,easy_install等工具的,但是在64位的系統中會出現

pip安裝出現Fatal error in launcher: Unable to create process using '"'的解決辦法

python2 情況 是否 bubuko inf img where class 控制 python中使用pip安裝模塊時,出現:Fatal error in launcher: Unable to create process using ‘"‘ 原因:系統中可能有多處安

解決Fatal error in launcher: Unable to create process using '"'

最新版 create mage 技術分享 創建 unable python .com eat 問題 分析原因 網上看了很多方案都說直接運行 python3 -m pip install --upgrade pip 來升級pip版本就好了,這個在大多數情況下都是有用的。因為

解決"pip Fatal error in launcher: Unable to create process using ... "的錯誤

前言 我的本機上已經有了python的環境了,也裝了pycharm編輯器(IDE)。 當時我python2和3版本都裝了的,但是現在我忘記了。 所以我需要重新熟悉一下,並且安裝anaconda這個IDE。 摘要 本來是想先熟悉一下開發環境,結果發現並解決了一個問

[已解決]SSH遠端登入失敗提示“Password authentication failed

使用linux下ssh登陸, ssh [email protected] 提示“Permission denied, please try again.” 然而我的密碼都是對的啊啊啊啊啊。 排查點一: 檢視防火牆設定:電腦->控制中心->防火牆

Fatal error in launcher: Unable to create process using 錯誤解決 以及python3安裝scrapy

因為要學scrapy 特意在電腦安裝了python2和python3 在python3下安裝scrapy時報錯 D:\python3\Scripts>pip3.6.exe install scrapy Fatal error in launcher: Unable t

yum groupinstall "X Window System" -y 出錯提示Error Summary錯誤解決方法

首先說明一下,一般常用的yum安裝方式為yum install,這次安裝"X Window System"就使用了yum groupinstall,那麼這兩個命令有什麼區別那? yum 提供二種安裝軟體的方式 1,yum install 它安裝單個軟體,以及這個軟體的依賴關

啟動pip時< Fatal error in launcher: Unable to create process using '"' >問題的原因及解決方法

create 文件 希望 launch erro alt http 我希望 們的 根本原因 要啟動的pip程序,中指定的python程序路徑不對 實例分析 我的window電腦上同時安裝了python2.7和python3.6,他們的安裝路徑如下圖: 註意圖pytho

安裝Python3.5後pip報錯Fatal error in launcher: Unable to create process using '"'解決方案

c:\Python35\Scripts>pip3ERROR:Fatal error in launcher: Unable to create process using '"'解決方法:python3:python3 -m pip install --upgrade pip