Ketika saya mencoba lari
git push origin master --force
saya baru saja dapat
Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date
Apakah ada hubungannya dengan tidak merasa aman? Saya mencoba membuat kunci publik seperti pada jawaban untuk Fatal: Ujung jarak jauh menutup secara tidak terduga dan menjalankannya lagi, tetapi masih tidak berhasil. Apakah saya sebenarnya tidak menggunakan kunci? Jika demikian, bagaimana cara menggunakannya?
git remote -v
error: could not lock config file .git/config: No such file or directory
melihat stackoverflow.com/a/32329453/827525Jawaban:
Ini mirip dengan Bagaimana cara mendapatkan github ke default ke ssh dan bukan https untuk repositori baru . Mungkin ada baiknya mencoba beralih dari protokol http ke ssh:
sumber
origin
sudah ada di sana dan Anda mencoba untuk menggantinya. git tidak mengizinkan itu. Jadi Anda harus terlebih dahulu lakukangit remote rm origin
kemudian coba lagi. Itu akan berhasilgit init
Masalahnya adalah karena pengaturan buffer git / https. Untuk menyelesaikannya (diambil dari Git gagal saat mendorong commit ke github )
Dan jalankan perintah lagi
sumber
--global
? Saya berurusan dengan repositori besar secara teratur.Penyebab: Ukuran posting file default untuk Git telah terlampaui.
Solusi:
Arahkan ke repo.
Jalankan perintah berikut untuk meningkatkan buffer ke 500MB setelah menavigasi ke repositori:
sumber
git config ssh.postBuffer 524288000
jika memposting lebih dari ssh daripada http.git config --global http.postBuffer 100000000
Anda mungkin mendapatkan kesalahan seperti ini
itu karena Anda tidak memiliki
.git/config
file lokal Anda bisa membuatnya bekerja dengan perintah inigit config --global http.postBuffer 524288000
sumber
Solusi lain tidak berfungsi dalam kasus saya, melakukan pengumpulan sampah memperbaikinya untuk saya:
git gc --aggressive
sumber
Berlawanan dengan salah satu jawaban lain - Saya punya masalah saat mendorong menggunakan ssh - Saya beralih ke https dan sudah diperbaiki.
sumber
Kesalahan ini juga dapat terjadi melalui izin penulisan yang hilang pada repositori.
Kasus konkret saya berjalan seperti ini:
root
pengguna server saya (melalui SSH).git
pengguna linux yang seharusnya mengelola semua tindakan yang berhubungan dengan git.root
pengguna di tempat pertama, dangit
pengguna sama sekali tidak memiliki izin file untuk menulis apa pun ke dalam repositori.sumber
Penyebab (dalam kasus saya):
Jaringan latensi tinggi.
Ini bukan jawaban semata, tetapi lebih dari pengamatan yang dapat membantu orang lain. Saya menemukan bahwa kesalahan ini kadang-kadang muncul di jaringan latensi tinggi (saya harus menggunakan parabola untuk akses internet misalnya). Kecepatan jaringan baik-baik saja, tetapi latensi bisa tinggi. Catatan: Masalahnya hanya ada dalam skenario tertentu, tetapi saya belum menentukan apa polanya.
Mitigasi sementara:
Saya mengganti jaringan — saya pindah ke jaringan sel yang lebih lambat, tetapi lebih rendah latensi (telepon saya digunakan sebagai hotspot) —dan masalahnya hilang. Perhatikan bahwa saya hanya dapat melakukan ini dengan tidak sengaja karena konektivitas sel saya juga terputus-putus. Ditambah penggunaan bandwidth menambah biaya. Saya juga beruntung bahwa saya memiliki opsi ini tersedia untuk saya. Tidak semua orang melakukannya.
Saya yakin ada beberapa pengaturan konfigurasi di suatu tempat yang membuat git — atau ssh atau curl atau waktu apa pun lebih dulu — lebih toleran terhadap jaringan semacam itu, tetapi saya tidak tahu apa itu.
Permohonan bagi pengembang:
Masalah-masalah seperti ini merupakan masalah konstan bagi penduduk pedesaan. Tolong pikirkan kami saat Anda merancang sistem, peralatan, dan aplikasi Anda. Terima kasih.
sumber
Dalam kasus kami, masalahnya adalah klon yang menulis
.git/config
file yang berisi entri url yang merupakan metode akses hanya baca. Mengubah url dari://
metode ke@
metode memperbaiki masalah.Menjalankan
git remote -v
menerangi masalah beberapa.sumber
Jika Anda menggunakan git untuk windows (dan kemungkinan besar Anda melakukannya, jika Anda melakukan ini pada mesin windows), dan tidak ada perbaikan lain di sini yang berfungsi untuk Anda, coba buka https://github.com/git-for- windows / git / rilis , dan mendapatkan versi pada atau setelah versi 2.4.5. Memperbaikinya tepat untuk saya.
sumber
Anda mungkin melakukan klon repositori di dalam yang sudah ada, untuk menyelesaikan masalah dapat dengan mudah mengkloning repositori di direktori lain dan mereplikasi perubahan ke direktori baru ini dan kemudian menjalankan push.
sumber
Tambahan lain, karena saya menemukan kesalahan ini dengan cara yang berbeda dan Google membawa saya ke sini.
Masalah saya adalah ketidaksesuaian kasus; satu camelCase dan satu tidak. Rupanya, GIT menghentikan Anda melakukan ini tanpa memberi tahu Anda alasannya. Jadi, jika cabang Anda berbeda dari jarak jauh hanya dalam huruf besar, cobalah mengubahnya menjadi identik.
Lihat: Git: 'Master tidak dapat diselesaikan untuk bercabang' setelah bergabung
sumber
Ini dapat terjadi setelah memperbarui platform OSX Anda.
Buka Terminal dan navigasikan ke folder .ssh Anda, dan masukkan
ssh-add -K ~/.ssh/id_rsa
sumber
PLESK Nginx dan GIT Saya mendapatkan kesalahan ini pada plesk git dan sambil mendorong repo besar dengan (siapa yang tahu apa) itu memberi saya kesalahan ini dengan kode HTTP 413 dan saya melihat ke dalam Server berikut adalah Plesk dan nginx berjalan serta apache2 jadi saya melihat log dan menemukan kesalahan dalam log nginx
Ikuti tautan ini untuk memungkinkan plesk membangun kembali konfigurasi dengan unggahan file yang lebih besar.
Saya melewatkan bagian php untuk git
Setelah itu git push bekerja tanpa ada kesalahan.
sumber
Saya kebetulan memiliki kesalahan yang sama saat menarik.
Saya telah melakukan trik "http.postBuffer". Itu menyelesaikannya, tetapi ketika saya ingin mendorong, saya menemukan kesalahan lagi.
Apa yang memecahkan masalah saya:
1. Mengkloningnya ke folder lain dengan mesin virtual lainnya. (Linux).
2. Saya sudah melakukan perubahan.
3. Dorong dengan mesin virtual asli tempat saya awalnya tidak bisa mendorong. (Windows)
sumber
Saya mendapatkan kesalahan ini ketika saya salah mengetikkan .ssh. Menambahkan pubkey ke github (dalam pengaturan) memperbaiki masalah ini untuk saya.
sumber
Saya memiliki masalah yang sama. Saya perhatikan dari halaman web git bahwa URL klon SSH memiliki struktur berikut:
Saya dapat menyelesaikan masalah saya hanya dengan mengubah ":" dengan "/", sebagai berikut:
mungkin ini bisa membantu.
sumber
Tampaknya hampir tidak ada gunanya untuk menambahkan jawaban, tetapi saya telah memperjuangkan ini sejak lama ketika saya akhirnya menemukan bahwa itu adalah Visual Studio Online yang menderita pemadaman sporadis. Itu menjadi jelas ketika VS terus meminta kredit dan situs web VSO terkadang memberi angka 500.
Saya mengatur buffer posting HTTP saya kembali ke 2Mb setelah itu, karena saya benar-benar berpikir itu berfungsi lebih baik dengan banyak posting yang lebih kecil.
Luke
sumber
Sepertinya itu bisa menjadi satu dari seribu hal.
Bagi saya, saya awalnya mendorong master dan mengembangkan (master tidak memiliki perubahan) melalui SourceTree. Mengubah ini untuk berkembang hanya berhasil.
sumber
Saya menghadapi kesalahan serupa yang mengunggah repo besar, "fatal: Remote control tiba-tiba menutup" tanpa rincian lebih lanjut.
Setelah banyak penelitian, inilah yang saya lakukan:
Akhirnya, terpikir oleh saya bahwa mungkin saya menggunakan klien git yang lebih tua, karena saya tidak melihat pesan kesalahan tambahan. Saya meningkatkan klien git ke terbaru (2.20.1), dan voila, kesalahannya hilang!
sumber
Saya mendapatkan kesalahan ini ketika saya salah mengeja nama cabang jarak jauh saya
sumber
Saya bisa mengatasi masalah ini menggunakan Git Shell.
Setiap repositori dalam github.com memberi Anda URL HTTPS / SSH / Subversion yang dapat Anda gunakan untuk mengunduh menggunakan Shell, lihat di sini: http://prntscr.com/8ydguv .
Berdasarkan perubahan terbaru GitHub, SSH tampaknya menjadi metode terbaik.
Perintah untuk digunakan di Shell:
sumber
git
di terminal?Lakukan ini untuk melihat kunci yang Anda gunakan; ssh -vT [email protected]
Kemudian pastikan di build Anda, Anda menjalankan ini di awal. eval "$ (ssh-agent -s)" ssh-add ~ / .ssh / id_rsa
sumber
1) cd ke dir proyek
2)
git status
3)
git checkout -f HEAD
4) konfirmasi kesuksesan dengan menarik master lagi untuk memastikan Anda up to date jika repo Anda terlihat tidak lengkap
Ini berfungsi jika Anda mendapatkan kesalahan yang dimaksud dari Visual Studio's Git ketika kloning repo dari Bitbucket
sumber
Ini juga dapat terjadi jika salah satu dari komitmen yang Anda dorong cacat.
Saya (tanpa sadar) memiliki komit dengan bidang Email Pembuat yang salah, tetapi yang saya dapatkan hanyalah
remote end hung up
pesan kesalahan yang tidak jelas ini . Saya bisa mendorong cabang lain hanya saja bukan cabang yang satu ini , jadi saya mulai mendorong komit dari cabang "buruk" satu per satu sampai akhirnya saya mendarat di:Jadi sepertinya
remote end hung up unexpectedly
kesalahan adalah semacam "menelan" pesan kesalahan yang sebenarnya, yang mungkin semacam komit salah seperti yang saya miliki di sini.Setelah memperbaiki email yang rusak saya bisa mendorong dengan baik.
sumber
Saya tidak berpikir itu ide yang baik untuk melakukan itu tetapi jika Anda memiliki cadangan di mesin Anda .. dorong sekali lagi dan kemudian coba kloning repo dan kemudian hapus. Git dari direktori lama dan pindahkan. tetapi karena masalah ini beberapa file mungkin tidak dapat diunggah di git. Dorong kembali semua dari cadangan Anda lalu tarik ke server Anda atau mesin lain di mana ia bisa mengalir. Saat ini saya baru saja melakukan itu ... Bekerja untuk saya .. dan mengambil cadangan dir Anda sebelum melakukan ini.
Dan tolong perbaiki saya jika saya salah. Saya juga tidak tahu apa yang salah setelah melakukan ini? Tapi kali ini ini benar-benar berfungsi.
sumber
masalah saya (fatal: Ujung jarak jauh terputus secara tak terduga) telah diatasi dengan memeriksa izin dan pemilik repositori.
pemilik file repositori git haruslah pengguna yang ingin Anda push / pull / clone dengannya.
sumber
Tidak ada jawaban di atas yang berfungsi untuk saya, tetapi inilah yang berhasil.
1) hapus
.git/
dari proyek Anda2) klon repo jarak jauh ke beberapa lokasi baru seperti desktop Anda.
git clone https://github.com/foo/bar.git
3) pindah
.git/
dari lokasi baru ke lokasi lama4) komit ulang dan dorong perubahan Anda
sumber
Penyebab masalah bagi saya adalah pengaturan jaringan: Saya memiliki kartu wifi "Pembunuh" yang ternyata tidak berkutat dengan paket jaringan dengan cara yang SSH dan SSL tidak suka.
Untuk memperbaiki masalah, saya harus masuk ke "Killer Control Center", "Parameters", dan nonaktifkan "Advanced Stream Detect" - perintah git mulai bekerja kembali secara instan.
sumber
Artikel ini memiliki penjelasan yang sangat bagus dan menyelesaikan masalah saya.
https://confluence.atlassian.com/stashkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-282988530.html
sumber