2012-09-29 10 views
108

मेरे पास केवल एक शाखा है। कुछ महीनों के लिए मैं अपने स्थानीय भंडार में प्रतिबद्ध होने के लिएगिट पुश विफल रहता है: आरपीसी असफल रहा; परिणाम = 22, HTTP कोड = 411

git push origin master 

का उपयोग कर रहा हूं। बीती रात के बाद मैं अपने स्थानीय भंडार को कुछ मामूली परिवर्तन किए हैं और एक ही आदेश का उपयोग कर धक्का करने की कोशिश की, मैं इस त्रुटि मिली:

error: RPC failed; result=22, HTTP code = 411 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 
Everything up-to-date 

मैं googled और इस तरह के this one और this one, लेकिन के जवाब में से कोई भी सवाल पाया ये प्रश्न मेरी समस्या हल करते हैं।

अधिकांश उत्तरों अलग सिर की समस्या का सुझाव देते हैं। फिर भी मुझे नहीं लगता कि मेरा सिर अलग हो गया है।

(1: है और न ही मुझे लगता है कि मैं गलत शाखा पर हूँ कर (के रूप में मैं केवल एक शाखा है ...)

मैं क्या गलत है यह पता लगाने के लिए कुछ प्रयोगों किया था, और यहां परिणाम मुझे मिल रहे हैं) सबसे पहले मेरी git status उत्पादन

# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# egal.aux 
# egal.blg 
# egal.out 
# egal.pdf 
# egalcar.aux 
# egalcar.blg 
# egalcar.pdf 
nothing added to commit but untracked files present (use "git add" to track) 

(2) जब मैं git reflog टाइप करें, मैं अपने सभी स्थानीय करता देख सकते हैं आता है, लेकिन दूरदराज के भंडार सिर्फ अपडेट नहीं होगा।

(3) जब मैं git branch -a टाइप करें, मैं

* master 
    remotes/origin/master 

(4) जब मैं git remote show origin टाइप करें, मैं
* remote origin 
    Fetch URL: http://github.com/CherryQu921/egaldoc_en 
    Push URL: http://github.com/CherryQu921/egaldoc_en 
    HEAD branch: master 
    Remote branch: 
    master tracked 
    Local ref configured for 'git push': 
    master pushes to master (fast-forwardable) 

मैं उत्पादन की अंतिम पंक्ति लगता है ("तेजी फॉरवर्ड करने योग्य ") अजीब है, लेकिन मुझे यकीन नहीं है कि क्या गलत है ...

+0

'फास्ट-फॉरवर्ड करने योग्य' का अर्थ है कि आप अपने स्थानीय परिवर्तन दूरस्थ शाखा में धक्का दे सकते हैं, आपराधिक कुछ भी नहीं :-) –

उत्तर

246

यदि आप HTTP या HTTPS के साथ गिट रिपॉजिटरी में परिवर्तनों का एक बड़ा सेट धक्का देने का प्रयास करते हैं, तो आपको एक त्रुटि संदेश मिल सकता है त्रुटि के रूप में: RPC failed; result=22, HTTP code = 411। यह एक गिट कॉन्फ़िगरेशन डिफ़ॉल्ट के कारण होता है जो कुछ HTTP संचालन को 1 मेगाबाइट तक सीमित करता है।

इस सीमा अपने स्थानीय भंडार

git config http.postBuffer *bytes* 

जहां बाइट्स की अनुमति दी बाइट्स की अधिकतम संख्या है में चलने को बदलने के लिए। उदाहरण के लिए:

git config http.postBuffer 524288000 

500MB के लिए (धन्यवाद @Hengjie)

+1

सही! धन्यवाद! – CherryQu

+50

500 एमबी के लिए एक उदाहरण 'गिट कॉन्फ़िगरेशन http.postBuffer 524288000' है। – Hengjie

+9

यदि आप gitlab का उपयोग कर रहे हैं, तो आपको अपनी nginx कॉन्फ़िगरेशन भी बदलनी पड़ सकती है ('/ etc/nginx/sites-available/gitlab')। अधिक जानकारी: https://github.com/gitlabhq/gitlabhq/issues/3099 – DanielB

22

तुम भी विश्व स्तर पर यह कर सकते हैं -

git config --global http.postBuffer 524288000 

कि सभी स्थानीय रेपोस डेटा की 500MB अप करने के लिए पुश करने के लिए अनुमति देगा।

2

यदि आप विंडोज के लिए टोर्टोइज गिट का उपयोग कर रहे हैं, तो सबसे आसान तरीका एकीकृत कॉन्फ़िगरेशन का उपयोग कर रहा है।

एक फ़ाइल एक्सप्लोरर में बाएं माउस बटन दबाएं, टोर्टोइस गिट -> सेटिंग्स चुनें। जानकारी संदेश स्वीकार करें। अब, आप चुन सकते हैं कि क्या आप केवल वर्तमान प्रोजेक्ट या सिस्टम के लिए संपत्ति को कॉन्फ़िगर करना चाहते हैं।प्रणाली में विन्यास प्रेस के लिए "प्रणाली में gitconfig संपादित" और खंड [http] के बगल में पंक्ति जोड़ें:

postBuffer = 524288000 

(यह खंड [http] मौजूद नहीं है, इसे बनाने) प्रदान की समाधान के

2

कोई नहीं के लिए काम किया हमें। HTTPS समाधान के बजाय हमें यह काम करने के लिए ssh पर स्विच करना पड़ा।

0

मैंने 22 त्रुटि को निम्नानुसार हल किया: "गिट क्लोन" कमांड में मैंने उपयोगकर्ता को पासवर्ड नहीं दिया: पासवर्ड। क्लोन काम किया, लेकिन धक्का नहीं। 22 त्रुटि के लिए समाधान: संशोधित करें। इस तरह यूआरएल को कॉन्फ़िगर करें/कॉन्फ़िगर करें: url = http://user:[email protected]/ ... फिर, पुश काम करता था।

संबंधित मुद्दे