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.

bernie2436
sumber
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
Saad.elzwawy
sumber
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.

xiaohu Wang
sumber
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"

oligofren
sumber
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.

Mandeep Singh
sumber
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
Vivek Singh
sumber
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.

hgrov52
sumber
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/

Ankush Jain
sumber
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.

NelsonRoberts
sumber
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".

Vipin Kumar Shakya
sumber
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"
ehsan asarzadeh
sumber
-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

AyushPayasi
sumber