webentwicklung-frage-antwort-db.com.de

github blockiert das mac-Terminal, wenn der Pull-Befehl verwendet wird

Ich lerne gerade Github auf Mac (Kommandozeile) und wenn ich git pull Origin master tue, bekomme ich das

# 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

das Terminal scheint zu blockieren und erlaubt mir nicht, sofort etwas einzugeben. Wenn es dann endlich möglich ist, Text einzugeben, scheint es, als würde es keine Git-Befehle erkennen.

Ist das ein Fehler in git oder fehlt mir etwas? 

88
zero

Du bist im Texteditor, vim! Es ist ein modaler Texteditor, daher müssten Sie:

  1. Drücken Sie i um in den Einfügemodus zu gelangen .
  2. Jetzt können Sie Ihre Nachricht eingeben, als ob Sie sich in einem normalen (nicht modalen) Texteditor befänden.
  3. Drücken Sie esc um zum Befehlsmodus zurückzukehren .
  4. Geben Sie dann :w gefolgt von ein enter speichern.
  5. Schließlich folgt :q enter beenden.
210
ceyko

Mach es einfach.

Geben Sie :wq und ein enter

17
abbas

Der Editor scheint Ihren Beschreibungen entsprechend vim zu sein .. Diese Konsole sagt Ihnen lediglich, dass Sie eine Nachricht für das Commit schreiben sollen, das Sie machen möchten, und es ist zwingend so, wie es ist.

  • Geben Sie einfach i ein und Sie wechseln in den -- INTER ---Modus. Jetzt können Sie Ihre Kommentare schreiben.

  • Wenn Sie mit dem Schreiben fertig sind, drücken Sie die Taste esc auf Ihrer Tastatur. Sie gelangen in den Befehlsmodus. (siehe unten in der Konsole)

  • Speichern Sie nun die Änderungen, indem Sie :w schreiben und anschließend die enter-Taste drücken

 Writing <code>:w</code> command

  • Sie können den Vorgang jetzt beenden, indem Sie :q schreiben und dann enter drücken

 Writing <code>:q</code> command

  • Hurra! Endlich sind Sie wieder bei der Hauptkonsole.
2
OM Bharatiya

Führen Sie diesen Befehl aus

git config --global core.editor "gedit"

Fügen Sie Ihre Nachricht in diese Datei ein und speichern Sie sie. 

1
Ayman Elshehawy

Probleme treten normalerweise auf, wenn wir etwas falsch schreiben. 
Es ist wahrscheinlicher, dass Sie an diesem Befehl interessiert sind:

git commit -m "message"

wenn es ein Problem gab, könnte es so etwas sagen

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)

und verwenden:

git pull

was sollte zu führen:

Already up-to-date.

Dann ist es gut zu überprüfen:

git status

und nochmal drücken:

git Push
0
Erik Rybalkin

Ich habe dieses Problem durch Ausführen der folgenden Schritte behoben

  1. Entfernen Sie # MERGE_MSG #  

    rm .git/\#MERGE_MSG#

  2. MERGE_HEAD entfernen 

    rm .git/MERGE_HEAD

Außerdem habe ich gits Editor explizit auf einen Editor gesetzt, den ich mit vim (Sie können nano) kennen. 

`git config --global core.editor "vim"`
0
Lukasz Dynowski

Einfacher geht es nicht ESC und dann :x (Kleinbuchstaben).

0
Ariel Ruiz

Sie können git checkout --merge yourbranch

Eine dreifache Zusammenführung zwischen dem aktuellen Zweig, dem Inhalt Ihrer Arbeitsstruktur und dem neuen Zweig ist abgeschlossen, und Sie befinden sich im neuen Zweig.

0
mdeora