Silakan masukkan pesan komit untuk menjelaskan mengapa penggabungan ini diperlukan, terutama jika menggabungkan upstream yang diperbarui ke cabang topik


515

Saya menggunakan Git. Saya melakukan penarikan dari repo jarak jauh dan mendapat pesan kesalahan:

Silakan masukkan pesan komit untuk menjelaskan mengapa penggabungan ini diperlukan,
terutama jika menggabungkan upstream yang diperbarui ke cabang topik.

Saya mencoba mengetik pesan dan menekan Entertetapi tidak ada yang terjadi.

Bagaimana saya memberi tahu Git / Terminal saya selesai mengetik pesan saya?

Saya menggunakan Terminal pada OS X.


3
Tampaknya GIT Anda dikonfigurasikan untuk membuka templat yang sudah dikonfigurasikan dan templat itu dibuka melalui editor default (vi / vim).
Shunya

Batalkan penggabungan ini & coba gunakan git pull --rebase.
Ankush Jain

3
Form me "Shift ZZ" memecahkan masalah
papacico

Jawaban:


1190

Ini bukan pesan kesalahan Git, ini editor karena git menggunakan editor default Anda.

Untuk mengatasi ini:

  1. tekan "i" (i untuk memasukkan)
  2. tulis pesan gabungan Anda
  3. tekan "esc" (melarikan diri)
  4. tulis ": wq" (tulis & keluar)
  5. lalu tekan enter

7
Ok, tapi ini dengan asumsi editornya adalah viatau vim.
Gabriele Petronella

106
itu sangat rumit
Connor Leech

92
Tuhan aku benciVi
Sobiaholic

153
Jika itu membantu siapa pun, cara Anda mengingat ini adalah bahwa "i" adalah untuk "masukkan", "esc" adalah keluar dari penyisipan, dan ": wq" hanya "menulis" dan "berhenti".
Josh Beam

83
Ini mungkin juga ↑↑ ↓ ↓ ← → ← → BA
Wesley Smith

39

Sebenarnya ini bukan kesalahan! Ini berarti Anda harus memasukkan beberapa pesan untuk menandai penggabungan ini. OS saya adalah Ubuntu 14.04. Jika Anda menggunakan OS yang sama, Anda hanya perlu melakukan ini sebagai berikut:

  1. Ketikkan beberapa pesan

  2. CtrlCO

  3. Ketikkan nama file (seperti "Merge_feature01") dan tekan Enter

  4. CtrlX untuk keluar

Sekarang jika Anda pergi ke .git dan Anda akan menemukan file "Merge_feature01", itulah log gabungan sebenarnya.


6
Saya bertanya-tanya bagaimana seseorang akan mengetahui hal ini? Sangat aneh cara kerjanya. Terima kasih telah menjawab ini.
Adrian Carr

@ScottyBlades mengapa harus begitu? pertanyaannya ditandai osx, dan jawaban ini menyangkut bagaimana Ubuntu mengatur pengaturan yang sama sekali berbeda untuk Git (menggunakan nanoatau pico), yang tidak berlaku untuk pengaturan OS X. Ini sama sekali tidak bisa digeneralisasikan dan juga tidak memberikan wawasan tentang cara kerjanya, karenanya komentar ditinggalkan oleh @AdrianCarr. Ada jawaban yang jauh lebih baik sekarang.
oligofren

27

tl; dr Atur editor ke sesuatu yang lebih bagus, seperti Sublime atau Atom

Di sini bagus digunakan dalam arti editor yang Anda sukai atau lebih ramah pengguna .

Masalah mendasarnya adalah bahwa Git secara default menggunakan editor yang terlalu tidak intuitif untuk digunakan oleh kebanyakan orang: Vim. Sekarang, jangan salah sangka, saya suka Vim, dan sementara Anda dapat menyisihkan waktu (seperti sebulan) untuk mempelajari Vim dan mencoba memahami mengapa beberapa orang berpikir Vim adalah editor terhebat yang ada, ada cara yang lebih cepat memperbaiki masalah ini :-)

Cara mengatasinya bukan untuk menghafal perintah rahasia , seperti dalam jawaban yang diterima, tetapi mengonfigurasi Git untuk menggunakan editor yang Anda sukai dan pahami! Ini benar-benar sesederhana mengkonfigurasi salah satu dari opsi ini

  1. pengaturan git config core.editor(per proyek, atau secara global)
  2. yang VISUALatau EDITORvariabel lingkungan (karya ini untuk program lain juga)

Saya akan membahas opsi pertama untuk beberapa editor populer, tetapi GitHub memiliki panduan yang sangat baik untuk banyak editor juga.

Untuk menggunakan Atom

Langsung dari dokumennya , masukkan ini di terminal: git config --global core.editor "atom --wait"

Git biasanya menunggu perintah editor untuk menyelesaikan, tetapi karena Atom segera garpu untuk proses latar belakang, ini tidak akan berhasil, kecuali jika Anda memberikannya --waitopsi.

Untuk menggunakan Teks Sublim

Untuk alasan yang sama seperti pada kasus Atom, Anda memerlukan bendera khusus untuk memberi sinyal ke proses yang tidak seharusnya dilabeli ke latar belakang:

git config --global core.editor "subl -n -w"


Vim tidak butuh waktu sebulan. dibutuhkan dua hari dan Anda tidak akan pernah lupa selama Anda menyimpan lembar cheat berguna yang Anda perlukan dari waktu ke waktu, pada awalnya.
user264431

22

Kerjakan saja,

CTRL + X

CTRL + C

Ini akan meminta Anda untuk menyimpan file, Tekan Y, maka Anda selesai.


Ini jika editor default Anda adalah "pico" atau "nano" Komentar di atas harus digunakan jika editor default Anda vim.
JacKeown

7

Di sini ini meminta Anda untuk pesan yang terhubung dengan gabungan Anda untuk referensi di masa mendatang mengapa Anda melakukan penggabungan ini.

press "i"
on top above on #lines write your message
press "esc" button
write ":wq" (it will write in bottom automatically)
press enter

6

Sebagai gantinya, Anda bisa git CtrlZdan coba lagi komit, tetapi kali ini tambahkan "-m" dengan pesan dalam tanda kutip setelahnya, lalu komit akan dilakukan tanpa meminta Anda dengan halaman itu.


3
lol ini pasti akan memecahkan masalah OP. git commit -m 'I did blah'
James M. Lay

Saya memiliki git versi 1.7.11.4 pada terminal linux, dan terlepas dari kenyataan bahwa saya memberikan git commit -m "message" atau git commit --message "message", editor tetap muncul dari waktu ke waktu, meminta pesan. Adakah yang tahu mengapa sakelar "-m" diabaikan?
pglpm

4

Karena repositori lokal Anda sedikit berkomitmen, git mencoba untuk menggabungkan remote Anda ke repo lokal Anda. Ini dapat ditangani melalui penggabungan, tetapi dalam kasus Anda, mungkin Anda mencari rebase, yaitu menambahkan komit Anda ke atas. Anda dapat melakukannya dengan

git rebase atau git pull --rebase

Berikut adalah artikel yang bagus menjelaskan perbedaan antara git pull& git pull --rebase.

https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


0

Cara menambahkan pesan di terminal android studio dengan gabungan Anda. Ini untuk pengguna mac.

  • Langkah satu - Tekan "i"
  • Langkah dua - Masukkan pesan Anda setelah "#"
  • Langkah tiga - Tekan "esc"
  • Langkah empat - di bagian paling bawah tulis ": wq"
  • Langkah lima - Tekan "Enter"

Anda semua selesai dengan penggabungan. Kemudian Anda dapat terus bekerja dengan menarik ke lokal Anda setelah atau membuat cabang baru.


0

Ini bukan pesan kesalahan Git, itu editor git menggunakan editor default Anda.

Untuk mengatasi ini:

  1. tekan "i"
  2. tulis pesan gabungan Anda
  3. tekan "esc"
  4. tulis “: wq”
  5. dan tekan enter

Penjelasan

Cara Anda mengingat ini adalah bahwa "saya" adalah untuk "memasukkan", "esc" adalah keluar dari penyisipan, dan ": wq" hanya "menulis" dan "berhenti".


0

Ini bukan sebuah kesalahan. Anda harus menambahkan massege untuk penggabungan ini

untuk menyelesaikan ini:

  1. tekan "i" untuk memasukkan massege Anda
  2. tulis massege Anda
  3. tekan "esc"
  4. tulis ": wq" (tulis dan berhenti untuk menyimpan massege dan keluar)
  5. tekan enter"

-1

Saya menemukan kesalahan karena saya baru git, Anda harus memeriksa apakah Anda telah memasukkan sintaks yang benar

saya membuat kesalahan dan menulis git commit

dan mendapat kesalahan yang sama

menggunakan git commit -m 'some comment'

dan Anda tidak akan melihat halaman dengan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.