github mengunci terminal mac saat menggunakan perintah tarik


95

Saya sedang dalam proses belajar github di mac (baris perintah) dan setiap kali saya melakukannya, git pull origin mastersaya mendapatkan ini

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 293C

terminal sepertinya terkunci dan tidak mengizinkan saya untuk memasukkan apa pun dengan segera, kemudian ketika akhirnya mengizinkan saya untuk memasukkan teks, sepertinya ia tidak mengenali perintah git.

Apakah ini bug di git atau saya melewatkan sesuatu?


5
Apakah itu benar-benar terkunci atau Anda hanya tidak terbiasa vi?
Edward Thomson

2
Saya tidak tahu persis mengapa, tapi git ingin Anda memasukkan pesan komit, dan kemungkinan besar Anda berada di editor teks vim.
Misch

ah begitu, ya, saya tidak terbiasa dengan vim. bagaimana cara memasukkan dan menyimpan komentar lalu melanjutkan?
nol

7
ketik iuntuk memasukkan komentar lalu tekan esc dan ketik:wq
Scott Harwell

1
Jika Anda tidak terbiasa vi, bukankah Anda dikurung?
Ben Racicot

Jawaban:


225

Anda berada di editor teks, vim! Ini adalah editor teks modal , jadi Anda perlu:

  1. Tekan iuntuk masuk ke mode penyisipan .
  2. Sekarang Anda dapat mengetik pesan Anda, seolah-olah Anda berada di editor teks biasa (non-modal).
  3. Tekan escuntuk kembali ke mode perintah .
  4. Kemudian ketik :wdiikuti enteruntuk menyimpan.
  5. Akhirnya :qdisusul dengan enterberhenti.

4
Sangat bagus bahwa git hanya menganggap semua orang tahu vim.
pengguna124384

2
@ user124384 Git mencoba menggunakan $EDITORvariabel lingkungan Anda , tetapi kembali ke vijika tidak dapat menemukannya. Anda dapat mengonfigurasi fallback melalui git config core.editor. Lihat git-scm.com/book/en/v2/…
ceyko

dimana saya bisa mengetik i?
Val Do

1
@ val-kharitonashvili Pada keyboard querty, ini bersebelahan dengan udan o;) Tapi sungguh, selama terminal memiliki fokus, itu harus bekerja.
ceyko

Mengapa ini terjadi? Saya selalu melakukannya git merge masterdan dalam 2 hari terakhir, saya melihat ini ...
Sayang


2

Editor sepertinya menjadi vim menurut deskripsi Anda. Konsol ini hanya memberi tahu Anda untuk menulis beberapa pesan untuk komit yang ingin Anda buat, dan itu wajib seperti itu.

  • Cukup ketik idan Anda akan masuk ke -- INTER --mode, sekarang Anda dapat menulis komentar Anda.

  • Setelah Anda selesai menulis, tekan esctombol di keyboard Anda dan Anda akan masuk ke mode perintah. ( lihat di bagian bawah konsol )

  • Sekarang simpan perubahan dengan menulis :wdiikuti dengan menekan entertombol

Menulis perintah <code>: w </code>

  • Anda dapat keluar sekarang dengan menulis :qdiikuti dengan menekan entertombol

Menulis perintah <code>: q </code>

  • Hore! Akhirnya Anda kembali ke konsol utama.

2

Lebih sederhana adalah pertama ESC dan kemudian : x(huruf kecil).


1

Jalankan perintah ini

git config --global core.editor "gedit"

Tambahkan pesan Anda di file ini dan simpan. Kembali tarik sekarang.


0

Saya memperbaiki masalah ini dengan menjalankan langkah-langkah berikut

  1. Hapus # MERGE_MSG #

    rm .git/\#MERGE_MSG#

  2. Hapus MERGE_HEAD

    rm .git/MERGE_HEAD

Selain itu, saya secara eksplisit mengatur editor git ke editor yang saya kenal dengan vim (Anda dapat mengatur nano )

`git config --global core.editor "vim"`

0

Anda dapat melakukan git checkout --merge yourbranch

Penggabungan tiga arah antara cabang saat ini, isi pohon kerja Anda, dan cabang baru selesai, dan Anda akan berada di cabang baru.


0

Masalah biasanya terjadi ketika kita salah mengeja sesuatu.
Sepertinya perintah ini menarik bagi Anda:

git commit -m "message"

jika ada masalah, itu mungkin mengatakan sesuatu seperti

Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

dan gunakan:

git pull

yang seharusnya mengarah pada:

Already up-to-date.

Maka baiklah untuk memeriksa:

git status

dan coba dorong lagi:

git push
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.