Saya hanya punya satu cabang. Selama beberapa bulan saya telah menggunakan
git push origin master
untuk berkomitmen ke repositori lokal saya. Tadi malam setelah saya membuat beberapa perubahan kecil pada repositori lokal saya dan mencoba untuk mendorong menggunakan perintah yang sama, saya mendapatkan kesalahan ini:
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
Saya mencari di Google dan menemukan pertanyaan seperti ini dan ini , tetapi tidak ada jawaban untuk pertanyaan ini yang menyelesaikan masalah saya.
Sebagian besar jawaban menunjukkan masalah kepala terpisah . Namun saya tidak berpikir kepala saya terpisah. Saya juga tidak berpikir saya berada di cabang yang salah (karena saya hanya memiliki satu cabang ...)
Saya melakukan beberapa percobaan untuk mencari tahu apa yang salah, dan inilah hasil yang saya dapatkan:
(1) Pertama datang git status
output saya
# 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) Ketika saya mengetik git reflog
, saya bisa melihat semua komit lokal saya, tetapi repositori jarak jauh tidak akan diperbarui.
(3) Saat saya mengetik git branch -a
, saya mengerti
* master remotes/origin/master
(4) Saat saya mengetik git remote show origin
, saya mengerti
* 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)
Saya pikir baris terakhir dari output ("fast-forwardable") aneh, tapi saya tidak yakin apa yang salah ...
fast-forwardable
berarti Anda dapat mendorong perubahan lokal ke cabang jarak jauh, tidak ada kriminal :-)Jawaban:
Jika Anda mencoba untuk mendorong set besar perubahan ke repositori Git dengan HTTP atau HTTPS, Anda mungkin mendapatkan pesan error seperti kesalahan:
RPC failed; result=22, HTTP code = 411
. Ini disebabkan oleh konfigurasi default Git yang membatasi operasi HTTP tertentu hingga 1 megabyte.Untuk mengubah batas ini jalankan dalam repositori lokal Anda
di mana byte adalah jumlah maksimum byte yang diizinkan. Sebagai contoh:
Untuk 500MB (terima kasih @Hengjie)
sumber
git config http.postBuffer 524288000
untuk 500MB./etc/nginx/sites-available/gitlab
). Info lebih lanjut: github.com/gitlabhq/gitlabhq/issues/3099RPC failed; result=22, HTTP code = 502
?Anda juga dapat melakukan ini secara global -
Itu akan memungkinkan semua repo lokal untuk mendorong hingga 500MB data.
sumber
Tidak ada solusi yang disediakan yang bekerja untuk kami. Kami harus beralih untuk
ssh
membuat ini berfungsi, bukanHTTPS
solusinya.sumber
Jika Anda menggunakan TortoiseGit untuk Windows, cara termudah adalah menggunakan konfigurasi terintegrasi.
Dalam penjelajah file tekan tombol kiri mouse, pilih TortoiseGit -> Pengaturan . Terima pesan info. Sekarang, Anda dapat memilih jika Anda ingin mengonfigurasi properti hanya untuk proyek atau sistem saat ini. Untuk konfigurasi seluruh sistem tekan "edit systemit gitconfig" dan tambahkan baris berikutnya ke bagian
[http]
:(itu bagian
[http]
tidak ada, buat itu)sumber
Saya memecahkan kesalahan 22 sebagai berikut: Pada perintah "git clone", saya TIDAK menyediakan kata sandi: user. Klon bekerja, tetapi tidak ada dorongan. Solusi untuk kesalahan 22: Ubah .git / konfigurasi url seperti ini: url = http: // pengguna: pwd @ host / ... Kemudian, push berfungsi.
sumber