Wprowadź komunikat zatwierdzenia, aby wyjaśnić, dlaczego to scalanie jest konieczne, szczególnie jeśli łączy on zaktualizowany pakiet nadrzędny w gałąź tematyczną


515

Korzystam z Git. Wykonałem ściąganie ze zdalnego repozytorium i dostałem komunikat o błędzie:

Wprowadź komunikat zatwierdzenia, aby wyjaśnić, dlaczego to scalanie jest konieczne,
szczególnie jeśli łączy on zaktualizowany pakiet nadrzędny w gałąź tematyczną.

Próbuję wpisać wiadomość i nacisnąć, Enterale nic się nie dzieje.

Jak powiedzieć Git / Terminal, że skończyłem pisać wiadomość?

Korzystam z terminala w systemie OS X.


3
Wygląda na to, że Twój GIT jest skonfigurowany do otwierania wstępnie skonfigurowanego szablonu i że szablon jest otwierany za pomocą domyślnego edytora (vi / vim).
Shunya

Przerwij to scalanie i spróbuj użyć git pull --rebase.
Ankush Jain

3
Form me „Shift ZZ” rozwiązuje problem
papacico

Odpowiedzi:


1188

To nie jest komunikat o błędzie Gita, to edytor, ponieważ git używa domyślnego edytora.

Aby rozwiązać ten problem:

  1. naciśnij „i” (i, aby wstawić)
  2. napisz wiadomość o scaleniu
  3. naciśnij „esc” (ucieczka)
  4. napisz „: wq” (napisz i wyjdź)
  5. następnie naciśnij enter

7
Ok, ale zakładam, że jego redaktorem jest vilub vim.
Gabriele Petronella

106
to jest skomplikowane
Connor Leech

92
Lord I hateVi
Sobiaholic

153
Jeśli komukolwiek to pomaga, pamiętasz, że „i” oznacza „wstaw”, „esc” oznacza wyjście z wstawiania, a „: wq” to po prostu „zapisz” i „wyjdź”.
Josh Beam

82
Równie dobrze może to być ↑↑ ↓↓ ← → ← → BA
Wesley Smith

39

Właściwie to nie jest błąd! Oznacza to, że powinieneś wprowadzić jakąś wiadomość, aby zaznaczyć to scalenie. Mój system operacyjny to Ubuntu 14.04. Jeśli używasz tego samego systemu operacyjnego, musisz to zrobić w następujący sposób:

  1. Wpisz wiadomość

  2. CtrlCO

  3. Wpisz nazwę pliku (np. „Merge_feature01”) i naciśnij Enter

  4. CtrlX do wyjścia

Teraz, jeśli przejdziesz do .git i znajdziesz plik „Merge_feature01”, tak naprawdę jest to dziennik scalania.


6
Zastanawiam się, skąd ktoś to wie? To takie dziwne, jak to działa. Dziękuję za odpowiedź.
Adrian Carr

@ScottyBlades dlaczego, do licha, powinien? pytanie jest oznaczone osx, a ta odpowiedź dotyczy tego, jak Ubuntu konfiguruje zupełnie inną konfigurację dla Git (używając nanolub pico), co nie ma zastosowania do konfiguracji OS X. Nie można go w żaden sposób uogólnić, a także nie zapewnia wglądu w jego działanie, stąd komentarz pozostawiony przez @AdrianCarr. Są teraz o wiele lepsze odpowiedzi.
oligofren,

27

tl; dr Ustaw edytor na coś ładniejszego, na przykład Sublime lub Atom

Tutaj nice używa się w znaczeniu edytora, który lubisz lub który jest bardziej przyjazny dla użytkownika .

Podstawowym problemem jest to, że Git domyślnie używa edytora, który jest zbyt nieintuicyjny, aby używać go dla większości ludzi: Vim. Nie zrozum mnie źle, uwielbiam Vima i chociaż możesz poświęcić trochę czasu (na przykład miesiąc) na naukę Vima i próbę zrozumienia, dlaczego niektórzy uważają, że Vim jest najlepszym redaktorem na rynku, istnieje szybszy sposób naprawienia tego problemu :-)

Poprawka nie polega na zapamiętywaniu tajemniczych poleceń , jak w zaakceptowanej odpowiedzi, ale na skonfigurowaniu Gita do korzystania z edytora, który ci się podoba i rozumiesz! To naprawdę tak proste, jak skonfigurowanie jednej z tych opcji

  1. ustawienie konfiguracji git core.editor(dla projektu lub globalnie)
  2. VISUALlub EDITORzmienna (działa to dla innych programów, jak również)

Omówię pierwszą opcję dla kilku popularnych edytorów, ale GitHub ma również doskonały przewodnik na ten temat dla wielu redaktorów .

Aby użyć Atom

Prosto z jego dokumentów , wpisz to w terminalu: git config --global core.editor "atom --wait"

Git zwykle czeka na zakończenie polecenia edytora, ale ponieważ Atom natychmiast uruchamia proces w tle, to nie zadziała, chyba że dasz mu taką --waitopcję.

Aby użyć Sublime Text

Z tych samych powodów, co w przypadku Atom, potrzebujesz specjalnej flagi, aby zasygnalizować procesowi, że nie powinien rozwidlać się w tle:

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


Vim nie zajmuje miesiąca. zajmuje to dwa dni i nigdy nie zapomnisz, dopóki zachowasz poręczną ściągawkę, której będziesz potrzebować od czasu do czasu.
user264431,

22

Po prostu zrób,

CTRL + X

CTRL + C

Poprosi Cię o zapisanie pliku, naciśnij Y, i gotowe.


Dzieje się tak, jeśli domyślnym edytorem jest „pico” lub „nano”. Jeśli domyślnym edytorem jest vim, należy użyć powyższych komentarzy.
JacKeown,

7

Oto prośba o wiadomość, która łączy się z twoją scaleniem do przyszłego odniesienia, dlaczego to scaliłeś.

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

6

Zamiast tego możesz pobrać CtrlZi ponowić zatwierdzenie, ale tym razem dodać „-m” z komunikatem w cudzysłowach, a następnie wykona polecenie bez monitowania o tę stronę.


3
lol to zdecydowanie rozwiązałoby problem PO. git commit -m 'I did blah'
James M. Lay

Mam git w wersji 1.7.11.4 na terminalu linuksowym i pomimo faktu, że daję git commit -m „message” lub git commit --message „message”, edytor od czasu do czasu wyskakuje, prosząc o wiadomość. Czy ktoś wie, dlaczego przełącznik „-m” jest ignorowany?
pglpm

4

Ponieważ lokalne repozytorium ma kilka zatwierdzeń do przodu, git próbuje połączyć pilota z lokalnym repozytorium. Można to załatwić przez scalanie, ale w twoim przypadku być może szukasz bazy bazowej, tj. Dodaj swoje zatwierdzenie na górę. Możesz to zrobić za pomocą

git rebase lub git pull --rebase

Oto dobry artykuł wyjaśniający różnicę między git pull& git pull --rebase.

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


0

Jak dodać wiadomość w terminalu Android Studio za pomocą scalenia. To jest dla użytkowników komputerów Mac.

  • Krok pierwszy - naciśnij „i”
  • Krok drugi - wpisz wiadomość po „#”
  • Krok trzeci - naciśnij „esc”
  • Krok czwarty - na samym dole napisz „: wq”
  • Krok piąty - naciśnij „Enter”

Skończysz ze swoim połączeniem. Następnie możesz kontynuować pracę nad ściągnięciem do lokalnego po lub utworzeniem nowego oddziału.


0

To nie jest komunikat o błędzie Gita, to edytor git używa domyślnego edytora.

Aby rozwiązać ten problem:

  1. naciśnij „i”
  2. napisz wiadomość o scaleniu
  3. naciśnij „esc”
  4. napisz „: wq”
  5. i naciśnij enter

Wyjaśnienie

Pamiętasz, że „i” oznacza „wstaw”, „esc” oznacza wyjście z wstawiania, a „: wq” to po prostu „zapisz” i „wyjdź”.


0

to nie jest błąd. musisz dodać massege dla tego scalenia

rozwiązać ten problem:

  1. naciśnij „i”, aby wstawić masażystę
  2. napisz swoją masażystkę
  3. naciśnij „esc”
  4. napisz „: wq” (napisz i wyjdź, aby zapisać massege i wyjdź)
  5. naciśnij enter"

-1

Znalazłem błąd, ponieważ byłem nowy w Git, musisz sprawdzić, czy wprowadziłeś poprawną składnię

popełniłem błąd i napisałem git commit

i dostałem ten sam błąd

posługiwać się git commit -m 'some comment'

i nie zobaczysz strony z

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.