Als Neuling Git-Benutzer, wenn ich versuche, meine Arbeit mit zu verpflichten
git commit -a -v
und ich gebe eine Commit-Nachricht in meinen Editor ein, schließe die Datei und erhalte folgende Fehlermeldung:
Aborting commit due to empty commit message.
Ich habe fast alle Themen gelesen, die sich mit diesem Thema befassen, die Redaktion gewechselt und im Grunde alles versucht, aber nichts hilft. Was soll ich machen?
Eines ist mir aufgefallen, als ich den gesamten Prozess mit Notepad ++ ausprobiert habe, konnte die Datei nicht gespeichert werden.
Eine mögliche Problemumgehung ist folgende:
git commit -am "SomeComment"
Aber auf diese Weise habe ich das Gefühl, dass ich den Zweck der Verwendung von Git irgendwie zunichte mache. Ich möchte meine Änderungen ordnungsgemäß dokumentieren.
Antworten:
Wenn Sie einen Editor in der Konfiguration von Git festlegen, müssen Sie den Parameter "-w" übergeben, um Git zu zwingen, auf Ihre Commit-Nachricht zu warten, die Sie in Ihrem benutzerdefinierten Editor eingeben würden.
quelle
mvim -f
anstelle des-w
Flags."gedit -w"
funktionierte nicht für mich, aber"gedit -s"
oder"gedit --standalone"
Arbeiten.Dieser Fehler kann auftreten, wenn Ihr Commit-Kommentar eine einzelne Zeile ist, die mit einem
#
Zeichen beginnt . Ich habe diesen Fehler beispielsweise erhalten, als ich in meinem Texteditor-Fenster für Festschreibungsnachrichten Folgendes festgestellt habe:Das Problem ist natürlich, dass meine Festschreibungsnachricht mit einem
#
Zeichen begann, also sah git diese Zeile als Kommentar und folglich die Festschreibungsnachricht als leer an, da sie nur Kommentare enthielt!Das Update bestand darin, meine Commit-Nachricht mit einem anderen Zeichen als zu starten
#
.In meinem speziellen Fall hat das Einschließen der Pivotal-ID in eckige Klammern sowohl Git als auch Pivotal glücklich gemacht:
quelle
#xxxx Fixed: ...
und durch Ändern dieser NummerFixed #xxxx: ...
wurde es tatsächlich behoben. Vielen Dank.#123 some message
. arbeitete während des Festschreibens, schlug jedoch später beim Festschreiben desrebase
Via-Editors fehl .Für Visual Studio Code
Für Atom
Für Erhabenes
quelle
Wenn Sie mit einer ordnungsgemäßen Dokumentation (langer, mehrzeiliger Kommentar) festschreiben möchten, aber die
-m
Option nicht möchten , können Sie Folgendes tun (und das tue ich bei der Vorbereitung meiner Festschreibungen ):git commit -a -F /path/to/doc-commit
')Kurz gesagt, verwenden Sie eine separate Datei (die sich an einem beliebigen Pfad befinden kann) als Commit-Nachricht.
quelle
# my comment
) Kommentare abgeben ?Ich bin auch ein Neuling in Git. Ich bin im Grunde auf das gleiche Problem gestoßen wie Sie. Ich habe das gelöst, indem ich Folgendes eingegeben habe:
Der Grund ist, dass git kein Commit ohne Nachrichten zulässt. Sie müssen Ihrem Commit-Befehl einige Nachrichten zuordnen.
quelle
Ich hatte dieses Problem. Ich habe gerade 1.8.0 früher installiert und festgestellt, dass ich das oben Gesagte leicht ändern musste. Ich bin in all dem sehr neu, aber im Wesentlichen scheint es, dass beim Festschreiben content.editor und nicht core.editor verwendet wird, zumindest wenn Sie etwas für content.editor festgelegt haben.
So war es
das lass mich endlich begehen! Verwenden Sie natürlich den von Ihnen verwendeten Editor.
Hoffe das hilft irgendwann jemandem!
quelle
Das Git erlaubt kein Commit ohne angegebene Nachricht. Haben Sie die Festschreibungsnachricht im Festschreibungsdialog angegeben?
Beachten Sie, dass die mit # beginnenden Zeilen von Git als Kommentar behandelt werden und von Git nicht als Kommentare betrachtet und ignoriert werden.
quelle
Entfernen Sie zuerst alte Einträge von Editoren:
Stellen Sie Ihren Editor ein:
Für Notepad ++
Für Erhabenes
quelle
Ich habe meinen Atom-Editor als konfiguriert
aber als ich es tat
Als Atom bereits gestartet wurde, öffnete es einen neuen Tab zum Hinzufügen von Kommentaren, aber Git wartete nicht darauf, dass ich die Datei speicherte und warf sofort die Nachricht "Abbruch". Als ich Atom schloss und versuchte, noch einmal ein Commit durchzuführen, startete Git Atom und wartete darauf, dass Kommentare hinzugefügt wurden.
quelle
Auf einem Windows-Computer für den 'Sublime'-Editor können wir auch die folgende Zeile in der .gitconfig- Datei im folgenden Ordner [IHR ANTRIEBSBUCHSTABE] hinzufügen : / users / username /
Ich hoffe es hilft.
quelle
--wait
. Haben Sie ein Arbeitsbeispiel, in dem der Pfad zur Datei Leerzeichen enthält, wie inProgram Files
? Vielen Dank.Es erwartet eine Commit-Nachricht.
Für vim : (Ich bin auch ein Neuling. Ich habe bisher nur mit vim gearbeitet.)
Nach Ihrem Befehl,
Sie werden zu einer Datei mit dem Namen weitergeleitet
".git / COMMIT_EDITMSG"
Das öffnet sich in Ihrem Editor (was in meinem Fall vim ist)
Sie werden viele kommentierte Texte finden, die genau so aussehen, wie Sie sie damals gesehen haben
Wenn Sie dies bemerken, sehen Sie oben eine leere Zeile, in der eine Festschreibungsnachricht erwartet wird. Sie können die Commit-Nachricht hier eingeben und den Editor speichern und beenden. Es ist fertig!
quelle
Dies hat mir nach vielen Versuchen und Irrtümern geholfen, hoffe, jemand findet es nützlich.
Ich hatte bereits sublime 3 symlinked, um es als subl-Befehl zu verwenden.
Ich bin völlig ahnungslos, warum -F-Flagge außerhalb des "" funktioniert hat.
quelle
subl --help
).Stellen Sie sicher, dass ein Kapital W.
git config --global core.editor "open -a 'Sublime Text 2' -W"
oder verwenden Sie den folgenden Befehl, um einen vorhandenen zu ersetzen, der nicht ordnungsgemäß funktioniert.
git config --replace-all core.editor "open -a 'Sublime Text 2' -W"
quelle
Gehen Sie folgendermaßen vor, um Notepad ++ (Windows) zu kommentieren:
1. Erstellen Sie irgendwo eine Batch-Datei (z. B. c: \ Users \ me \ scripts \ npp.bat).
Schreiben Sie diese in die Batch-Datei (je nachdem, wo Ihr Notepad ++ installiert ist):
2. Speichern Sie die Batchdatei.
3. Öffnen Sie .gitconfig (normalerweise in Ihrem Windows-Benutzerordner) und stellen Sie sicher, dass Sie
im Abschnitt [core] Folgendes haben:
Oder entweder ausführen:
4. Führen Sie nun eine Art Commit durch, und Notepad ++ wird geöffnet. Git Commit wartet nun, bis das Notepad ++ - Fenster geschlossen wird.
quelle
Stellen Sie zunächst sicher, dass Ihr Git richtig konfiguriert ist, um eine Art Editor-Eingabeaufforderung (Visual Studio / Sublime / Notepad ++ / Atom usw.) zu öffnen, um fortzufahren.
.gitconfig
Datei und stellte fest, dass in meinem Editor-w
Parameter fehltengit config --global core.editor "code -w"
Befehl ausgeführt und meine.gitconfig
Datei erneut überprüft. Dabei wurde festgestellt, dass die Datei-w
dort korrekt hinzugefügt wurde.Hoffe, das hilft einigen anderen Neulingen wie mir.
quelle
Ich habe das Problem behoben, indem ich von meinem ausgefallenen MacVim-Editor, der ein neues Fenster öffnet, zu dem Standard-Vim in / user / bin / vim gewechselt bin, der im selben Fenster wie die Shell geöffnet wird, von wo aus sie aufgerufen wird, und das scheint behoben zu sein das Problem.
quelle
git config --global core.editor "mvim -f"
Ich habe dieses Problem festgestellt und festgestellt, dass ich diesen Fehler bekomme, wenn ich nach dem Festschreiben keinen Kommentar eingebe. Wenn ich springe, um sofort zur Haupt-Bash zurückzukehren, wird sie nicht festgeschrieben. Um klarer zu sein, verwende ich GIT Bash, keinen anderen Editor
quelle
Als ich den vollständigen Atom-Dateipfad verwendet habe, hat es nicht funktioniert, also anstatt:
Ich benutzte:
und es hat gut funktioniert. Viel Glück!
WICHTIG: Stellen Sie zunächst sicher, dass atom es direkt (atom) über die von Ihnen verwendete Befehlszeile korrekt aufruft.
quelle
Lösung für Commit-Fehler
Wie oben gezeigt, gibt es ein Festschreibungsfeld, das Sie beim Festschreiben eingeben müssen. Dies dient im Wesentlichen der Versionskontrolle und dem Verständnis der Änderungen für jedes Festschreiben.
Wenn Sie dies nicht eingeben, wird folgende Fehlermeldung angezeigt: Abbrechen des Commits aufgrund einer leeren Commit-Nachricht
Hinweis: Das Obige funktioniert nur beim Festschreiben und Abrufen der Dateien durch Rstudio.
quelle
Ich habe diesen Fehler erhalten, und obwohl ich ihn verwendet habe
git config --global core.editor "code -w"
, würde er immer noch nicht darauf warten, dass ich die Datei schließe. Es würde einfach sofort abbrechen.Mein Problem war, dass ich diesen Befehl früher ausgeführt hatte
git config core.editor "code"
.Es scheint, dass
core.editor
(von dem ich annehme, dass es sich um eine lokale Arbeitsverzeichnisspezifikation handelt) Vorrang hatte--global core.editor
.Wenn
git config --global core.editor "code -w"
(oder welcher Editor auch immer Sie verwenden möchten) für Sie nicht funktioniert, lassen Sie den weg--global
.quelle