github, çekme komutunu kullanırken mac terminalini kilitler


97

Ben mac GitHub (komut satırı) öğrenme sürecinde ve ben do zaman git pull origin masterben bu olsun

# 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 kilitlenmiş gibi görünüyor ve hemen hiçbir şey girmeme izin vermiyor, sonunda metin girmeme izin verdiğinde git komutlarını tanımıyor gibi görünüyor.

Bu bir hata mı yoksa bir şey mi eksik?


5
Gerçekten kilitleniyor mu yoksa aşina değil vimisin?
Edward Thomson

2
Tam olarak nedenini size söyleyemem, ancak git bir commit mesajı girmenizi istiyor ve büyük olasılıkla metin editörü vim içindesiniz.
Misch

ah anladım, evet vim'e aşina değilim. yorumu nasıl girip kaydedip devam edebilirim?
sıfır

7
iyorum eklemek için yazın , ardından esc tuşuna basın ve yazın:wq
Scott Harwell

2
Aşina videğilseniz, kilitlenmediniz mi?
Ben Racicot

Yanıtlar:


228

Metin düzenleyicisindesin, vim! Bu bir var modal sen gerekir bu yüzden, metin editörü:

  1. Basın igirmek için ekleme modunu .
  2. Artık normal (kipli olmayan) bir metin düzenleyicideymiş gibi mesajınızı yazabilirsiniz.
  3. Basın escdönmek için komut modu .
  4. Ardından kaydetmek için :wardından yazın enter.
  5. Nihayet :qardından enterçıkmak için.

4
Git'in herkesin vim'i bildiğini varsayması harika.
user124384

2
@ user124384 Git, $EDITORortam değişkeninizi kullanmaya çalışır , ancak vibir tane bulamazsa geri döner . Geri dönüşü git config'ler aracılığıyla yapılandırabilirsiniz core.editor. Bkz git-scm.com/book/en/v2/...
Ceyko

nerede yazabilirim i?
Val Do

1
@ val-kharitonashvili Bir sessiz klavyede, uve bitişiğindedir o;) Ama gerçekten, terminal odaklandığı sürece çalışmalıdır.
ceyko

Bu neden oluyor? Her zaman yapıyordum git merge masterve son 2 gündür bunu görüyorum ...
Tatlım


2

Editör , açıklamalarınıza göre vim gibi görünüyor . Bu konsol basitçe yapmak istediğiniz işlem için bazı mesajlar yazmanızı söylüyor ve olduğu gibi zorunlu.

  • Sadece yazın ive -- INTER --moda geçeceksiniz, şimdi yorumlarınızı yazabilirsiniz.

  • Yazmayı bitirdikten sonra klavyenizdeki esctuşuna basın ve komut moduna geçersiniz. ( konsolun altına bakın )

  • Şimdi yazılı tarafından değişikliklerden tasarruf :wbasarak ardından enteranahtarı

<code>: w </code> komutu yazılıyor

  • Sen ve yazılı olarak şimdi çıkabilirsiniz :qbasarak ardından enteranahtarı

<code>: q </code> komutu yazılıyor

  • Yaşasın! Sonunda ana konsola geri döndün.


1

Bu komutu çalıştırın

git config --global core.editor "gedit"

Mesajınızı bu dosyaya ekleyin ve kaydedin. Şimdi geri çekil.


0

Aşağıdaki adımları uygulayarak bu sorunu çözdüm

  1. # MERGE_MSG # öğesini kaldır

    rm .git/\#MERGE_MSG#

  2. MERGE_HEAD'i kaldır

    rm .git/MERGE_HEAD

Ben aşina olduğumu bir editöre Ayrıca, açıkça belirlenen seyahatseverlerin Git editörü vim (ayarlayabileceğiniz nano )

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

0

Yapabilirsin git checkout --merge yourbranch

Mevcut dal, çalışma ağacınızın içeriği ve yeni dal arasında üç yönlü bir birleştirme yapılır ve yeni dalda olursunuz.


0

Sorunlar genellikle bir şeyi yanlış yazdığımızda ortaya çıkar.
Daha çok ilgilendiğiniz bu komut:

git commit -m "message"

bir sorun varsa, şöyle bir şey söyleyebilir

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)

ve kullan:

git pull

şunlara yol açmalıdır:

Already up-to-date.

O zaman kontrol etmek iyidir:

git status

ve tekrar itmeyi deneyin:

git push
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.