2013-09-30 19 views
3

我在本地計算機[Windows OS]中創建了一個裸回購,並安裝了gitolite。Git:無法推送{n/a(解包器錯誤)}

當我試圖將更改到裸露的回購協議,我收到以下錯誤:

$ git push origin master 

Counting objects: 3, done. 
Writing objects: 100% (3/3), 293 bytes, done. 
Total 3 (delta 0), reused 3 (delta 0) 
error: insufficient permission for adding an object to repository database ./objects 

fatal: failed to write object 
error: unpack failed: unpack-objects abnormal exit 

To //172.16.90.196/repositories/Test.git 

! [remote rejected] master -> master (n/a (unpacker error)) 

error: failed to push some refs to '//172.16.90.196/repositories/Test.git' 

我用Google搜索了相同的錯誤,卻處處是與權限,最終,它是特定於Linux。你能幫助我解決Windows操作系統上的這個問題嗎?

由於我是我的電腦管理員,希望權限不會是問題。

請幫助我。

+0

的可能重複[混帳:不能推(解包錯誤)(http://stackoverflow.com/questions/4025708/git -cant-push-unpacker-error) – Makoto

+0

@Makoto:Thnx for your reply ..但上面的鏈接指的是linux操作系統,它解釋了.git文件夾中對象的權限。我認爲這不是我的問題。 – Vikky

回答

0

這是不是權限問題,而是一個gitolite使用率問題:

你不應該創建一個裸露的回購協議,你應該在你gitolite.conf文件的gitolite-admin回購克隆的聲明一個新的回購協議名稱,將該管理員回購推送回您的gitolite實例。
這將觸發創建新的回購。

參見「Adding and removing repos」。

+0

::感謝您的迴應..但即使我面臨同樣的問題,同時在修改conf文件後推gitolite管理克隆回購gitolite實例。 – Vikky

+0

@Vikky然後重做gitolite安裝http://gitolite.com/gitolite/install.html,並檢查ssh是否正常工作(http://gitolite.com/gitolite/sts.html)。確保你瞭解gitolite的工作方式:http://stackoverflow.com/a/13320256/6309 – VonC

0

登錄到您的推送目標機器172.16.90.196。

如果它是一臺Linux機器,去混帳目錄和改變這樣的權限: 搭配chmod -R G + W * 也許你沒有合適的Linux用戶組中,那麼你就可以成爲會員該組或您放鬆所有用戶的權利: chmod -R a + w * 如果您沒有足夠的權限來執行此操作,則具有root權限的您(或其他人)必須chmod。

如果你的目標機器172.16.90.196是Windows機器,去到GIT目錄並更改權限用戶: 右鍵單擊目錄,打開屬性對話框,然後轉到安全性,並添加寫權限爲您的用戶(組)。

0
git fsck 
git prune 
git repack 
git fsck 
0

檢查您的服務器,也許有過小的磁盤空間