Wenn Sie den Editor nur für Git einstellen möchten , gehen Sie wie folgt vor (Sie benötigen nicht beide):
Stellen Sie core.editorin Ihrer Git-Konfiguration Folgendes ein:git config --global core.editor "vim"
Legen Sie die GIT_EDITORUmgebungsvariable fest:export GIT_EDITOR=vim
Wenn Sie den Editor für Git und andere Programme festlegen möchten , legen Sie die Standard- VISUALund EDITORUmgebungsvariablen * fest:
export VISUAL=vim
export EDITOR="$VISUAL"
* Das Einstellen von beiden ist nicht unbedingt erforderlich, aber einige Programme verwenden möglicherweise nicht das korrektere VISUAL. Siehe VISUALvs.EDITOR .
Für erhabenen Text : Fügen Sie dies dem hinzu .gitconfig. Das --waitist wichtig (es ermöglicht das Eingeben von Text in erhabenem Zustand und wartet auf das Speichern / Schließen-Ereignis.)
[core]
editor ='subl' --wait
'subl' kann durch den vollständigen Pfad der ausführbaren Datei ersetzt werden, ist jedoch normalerweise bei korrekter Installation verfügbar.
Die EDITOR-Umgebungsvariable hat den Vorteil, dass eine Reihe anderer Programme dies ebenfalls berücksichtigen.
Boojum
16
Beachten Sie, dass git config --globaldies in Ihre persönliche Git-Konfigurationsdatei (pro Benutzer) geschrieben wird. Auf Unices ist es ~/.gitconfig. Dies würde es also für alle Ihre Repositorys konfigurieren.
Jakub Narębski
42
Sie können testen, ob Sie es erfolgreich geändert haben, indem Sie versuchen, die letzte Festschreibungsnachricht zu ändern. git commit --amend
Marco M.
11
Wenn Sie Option 1 in Windows ausführen und Leerzeichen im Pfad zum Editor haben (z. B. unter "Programme"), setzen Sie einfache Anführungszeichen in Ihre doppelten Anführungszeichen. zB "'C: / Programme (x86) /Whatever/App.exe'" - für manche offensichtlich, aber für mich nicht!
Pablissimo
5
@Abramodj -wist nicht notwendig; -w {scriptout}speichert alle Zeichen, die Sie beim Bearbeiten eingeben, um sie später wiederzugeben. Vielleicht verwechseln Sie es mit -f, was beim Aufrufen der GUI-Version von Vim erforderlich ist . Das heißt, wenn Sie verwenden mvim, sollte der von Ihnen angegebene Editor mvim -feher als sein mvim.
Rory O'Kane
618
Kopieren Einfügen:
git config --global core.editor "vim"
Falls Sie wissen möchten, was Sie tun. Von man git-commit:
UMWELT- UND KONFIGURATIONSVARIABLEN
Der zum Bearbeiten der Festschreibungsprotokollnachricht verwendete Editor wird aus der GIT_EDITORUmgebungsvariablen, der core.editorKonfigurationsvariablen, der VISUALUmgebungsvariablen oder der EDITORUmgebungsvariablen (in dieser Reihenfolge) ausgewählt.
Der Vollständigkeit halber bedeutet core.editor [core] editor = ... in der Datei
JRG
2
Beantwortete nicht die Frage "Wie konfiguriere ich Git ..."
Ant6n
193
Unter Ubuntu und auch unter Debian (danke @MichielB) ist das Ändern des Standardeditors auch durch Ausführen von:
sudo update-alternatives --config editor
Was Folgendes auffordert:
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------0/bin/nano 40 auto mode
1/bin/ed -100 manual mode
2/bin/nano 40 manual mode
*3/usr/bin/vim.basic 30 manual mode
4/usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number:
Auf Debian funktioniert das auch, danke! Der Standardwert ist pico - argh.
MichielB
2
Natürlich funktioniert es unter Debian; Es ist eine Debian-Funktion, die Ubuntu wie die meisten Dinge (ooh, umstritten!) lediglich erbt. Das Debian- alternativesSystem ist eine viel einfachere Möglichkeit, die Standardeinstellungen für die unterstützten Programmtypen zu verwalten. Als Referenz: debian-administration.org/article/91/…
underscore_d
Es funktioniert, während GIT_EDITORund EDITOR nicht --ubuntu
Ninja
Keine Optionen für Emacs? Wenn ja, was für eine Schande!
Haziz
2
@haziz update-alternativeszeigt alle installierten Editoren an. Koen hat Emacs einfach nicht installiert.
Major
59
In Windows 7 gab es beim Hinzufügen des Editors "Sublime" immer noch einen Fehler:
Abbrechen des Commits aufgrund einer leeren Commit-Nachricht.
Sublime konnte den Fokus nicht halten.
Um dies zu beheben, öffnete ich die .gitconfig-Datei im Ordner c: / users / username / und fügte die folgende Zeile mit der Option --wait außerhalb der doppelten Anführungszeichen hinzu.
[core]
editor ='F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
Ich hoffe, es ist hilfreich für jemanden, der mit Sublime vor einem ähnlichen Problem steht.
Nett! Vielen Dank, Anmol. Ich hatte dieses Problem, bei dem eine leere Nachricht gesendet wurde.
Ddavison
Warum sollten Sie sublime für Git-Commits verwenden?
Adam F
13
Jeder Editor für Git Commit wird meistens verwendet, um mehrere Kommentarzeilen hinzuzufügen, und Sublime ist für viele Entwickler aus verschiedenen Gründen eine Programmiererwahl. Menschen neigen im Allgemeinen dazu, einen Editor für die meisten ihrer Codierungs- und anderen Arbeiten zu verwenden. Erhaben ist nur eine persönliche Wahl, es kann jeder Redakteur sein.
Anmol Saraf
4
Ich habe gerade herausgefunden, dass die einfachen Anführungszeichen erforderlich sind. Es funktioniert nicht mit doppelten Anführungszeichen ".
dotnetCarpenter
1
Anstatt gitconfig manuell zu bearbeiten, können Sie diesen Befehl verwendengit config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
KayakinKoder
53
Setzen Sie in Windows 7 den Editor auf Notepad ++
Öffnen Sie einen beliebigen Texteditor.
Öffnen Sie diese Datei: C:\Users\YOUR_USERNAME\.gitconfig
endlich jemand, der weiß, wie man es einfach schreibt! Vielen Dank. Aber Sie sollten erwähnen, dass im Pfad zum Notizblock '/' oder doppelter Backslash '\\' verwendet werden muss, sonst wird sich git beschweren ...
icl7126
10
Möglicherweise müssen Sie -multiInstNotepad ++ und möglicherweise mindestens einen Parameter hinzufügen -notabbar. Tun Sie dies, wenn Git nicht zu wissen scheint, wann Sie die Datei bearbeitet haben und entweder für immer oder gar nicht warten.
ErikE
1
Genau das, was ich wollte. Vergleichen Sie die Verwendung von \ und /
Henry
4
Um die Konfiguration in der Kommandozeile festzulegen, benötige ich doppelte Anführungszeichen in einfachen Anführungszeichen wie>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
Josef
2
Um die Notepadd ++ - Parameter hinzuzufügen, musste ich Folgendes tun: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- Das heißt, Parameter außerhalb der abgrenzenden einfachen Anführungszeichen
Cropredy
30
So machen Sie Visual Studio Code (vscode) zu Ihrem Standard-Git-Editor
Windows: Festlegen des Notizblocks als Standard-Editor für Festschreibungsnachrichten
git config --global core.editor notepad.exe
Drücken Sie Ctrl+ S, um Ihre Commit-Nachricht zu speichern. Schließen Sie zum Verwerfen einfach das Notizblockfenster, ohne es zu speichern.
Wenn Sie die Verknüpfung zum Speichern drücken und dann abbrechen, gehen Sie zu Datei-> Speichern unter und ändern Sie im daraufhin angezeigten Dialogfeld "Dateityp" in "Alle Dateien (*. *)". Sie sehen eine Datei mit dem Namen "COMMIT_EDITMSG". Löschen Sie es und schließen Sie das Notizblockfenster.
Bearbeiten: Alternativ und einfacher können Sie den gesamten Inhalt aus dem geöffneten Notizblockfenster löschen und auf Speichern klicken. (danke mwfearnley für den Kommentar!)
Ich denke für kleine Zuschreibungen wie Commit-Nachrichten dient der Editor am besten, weil es einfach ist, mit Fenstern da ist, sich in kürzester Zeit öffnet. Sogar Ihr Erhabener kann ein oder zwei Sekunden brauchen, um in Schwung zu kommen, wenn Sie eine Menge Plugins und ähnliches haben.
Anstatt zu Datei-> Speichern unter zu wechseln, können Sie die Datei leeren (oder nicht leere Zeilen auskommentieren), und Git wird aufgrund einer leeren Festschreibungsnachricht abgebrochen.
mwfearnley
@Stepan Ändern Sie Commit? Wenn ja, dann \r\nschätze ich, dass es mit (Newline in Windows) und \n(Newline unter Linux, auch Standard für Git) zu tun hat .
Sнаđошƒаӽ
Besser, Sie fügen die Zeile wie folgt hinzu, core.editor = 'notepad' .git/COMMIT_EDITMSG --waitdamit sie die Standardbearbeitungsnachricht öffnet und speichert und Sie nicht "Speichern unter" benötigen
Radon8472
12
Dies bietet eine Antwort für Personen, die zu dieser Frage gelangen und möglicherweise einen anderen Editor als vim verknüpfen möchten.
Die verknüpfte Ressource von Github wird wahrscheinlich auf dem neuesten Stand gehalten, wenn die Editoren aktualisiert werden, auch wenn die Antworten auf SO (einschließlich dieser) nicht zutreffen.
Githubs Beitrag zeigt genau, was Sie für verschiedene Editoren in Ihre Befehlszeile eingeben müssen, einschließlich der Optionen / Flags, die für jeden Editor spezifisch sind, damit es am besten mit git funktioniert.
Die obigen Befehle setzen voraus, dass Ihr Editor im Standardverzeichnis für einen Windows-Computer installiert wurde.
Die Befehle fügen im Wesentlichen den Text zwischen doppelten Anführungszeichen .gitconfigin Ihrem Home-Verzeichnis hinzu.
Auf einem Windows-Computer befindet sich wahrscheinlich zu Hause C:\Users\your-user-name, wo Ihr Benutzername Ihr Anmeldename ist.
Über die Befehlszeile können Sie dieses Verzeichnis durch Eingabe erreichen cd ~.
Ein Befehl oben würde beispielsweise die folgende Zeile unter dem folgenden [core]Abschnitt hinzufügen : [core]
editor = 'C:/Program Files/sublime text 3/subl.exe' -w
Wenn Sie einen anderen Editor haben, ersetzen Sie ihn einfach durch den Pfad zu Ihrem Editor. Verwenden Sie dazu eine der oben genannten Methoden. (und hoffe, dass für eine optimale Nutzung keine Flags benötigt werden.)
Vielen Dank, ich hatte Probleme damit, dass nur "vim" die "interne" vim-Instanz für Git gestartet hat (ohne meine Einstellungen usw.). Das Bereitstellen des vollständigen Pfads zu meiner Instanz hat das Problem behoben!
Hier ist, wie man Emacs im Terminal-Modus setzt, wenn man sich verpflichtetgit config --global core.editor "emacs -nw"
Kukinsula
Ich benutze git config --global core.editor "emacs -nw -q", wo die -qInitialisierungsdateien übersprungen.
Miguelmorin
8
Beste Einstellungen für Sublime Text 3 als Git-Editor (Windows- und Linux-Anweisungen):
Um diese Anweisungen in Windows zu befolgen, stellen Sie sicher, dass Sie Git für Windows installiert haben . Unter Windows verwende ich gerne Git Bash, damit es sich eher wie Linux anfühlt.
Zunächst möchten wir ein spezielles Sublime Text-Projekt erstellen, damit wir spezielle Projekteinstellungen festlegen können, die festgelegt werden sollen, wenn Git den Editor aufruft, um die Bearbeitung in Git zu vereinfachen. Zum Beispiel setze ich mein Lineal normalerweise in den meisten Projekten auf 120 Zeichen, aber für Git-Commit-Nachrichten möchte ich, dass es 72 Zeichen enthält, damit es gut in ein Terminal passt, wenn Sie git logoder anrufen git lg.
1. Erstellen Sie ein Sublime Text-Projekt mit Einstellungen, die wir zum Bearbeiten von Git-Commit-Nachrichten verwenden möchten
Öffnen Sie Sublime Text und gehen Sie zum Menü "Datei" → "Neues Fenster" , um ein neues anonymes Projekt zu erstellen. Gehen Sie zum Menü "Projekt" → "Projekt speichern unter ..." und wählen Sie einen Ort zum Speichern. Unter Linux habe ich es in meinem Linux-Ausgangsverzeichnis mit dem Dateinamen gespeichert .gitconfig.sublime-project. Sein Weg ist daher : ~/.gitconfig.sublime-project. Speichern Sie es unter Windows auch in Ihrem Home-Verzeichnis, zum Beispiel: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Gehen Sie nun zum Menü "Projekt" → "Projekt bearbeiten " , um die Projekteinstellungen zu bearbeiten. Fügen Sie Folgendes ein und speichern Sie die Einstellungen. Nehmen Sie bei Bedarf weitere Änderungen an Ihren Projekteinstellungen vor.
{// For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html
"folders":[],"settings":{// Disables horizontal scrolling if enabled.// May be set to true, false, or "auto", where it will be disabled for
// source code, and otherwise enabled."word_wrap": false,// Set to a value other than 0 to force wrapping at that column rather than the// window width
"wrap_width":0,// Columns in which to display vertical rulers
"rulers":[72,50],//72 is recommended by git for commit message content, and 50 for commit titles
// The number of spaces a tab is considered equal to
"tab_size":4,// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": true,},"build_systems":[]}
2. Stellen Sie den von Git zu verwendenden Editor ein
Jetzt müssen wir den Editor so einstellen, dass er von Git verwendet wird, indem wir die .gitconfigDatei bearbeiten .
Für Linux:
Ihre Benutzerkopie davon befindet sich in ~/.gitconfig. Öffnen Sie diese Datei und fügen Sie die folgenden Zeilen hinzu. Stellen Sie sicher, dass Sie den richtigen Pfadnamen für das Git-Projekt verwenden, das Sie gerade erstellt haben! Ich benutze ~/.gitconfig.sublime-project.
Dies --waitist wichtig, da Git gezwungen ist, zu warten, bis Sie die Datei schließen, bevor sie fortgesetzt wird. Die --projectZeile ist wichtig, um Sublime Text mitzuteilen, welches Projekt geöffnet werden soll, wenn Git Sublime Text öffnet.
Gemäß der obigen Antwort von @ digitaldreamer ( https://stackoverflow.com/a/2596835/4561887 ) kann " subldurch den vollständigen Pfad der ausführbaren Datei ersetzt werden, aber [der Alias subl] ist normalerweise verfügbar, wenn [Sublime] korrekt installiert ist."
Für Windows:
Lesen Sie unter Windows zunächst die Linux-Anweisungen, um Hintergrundinformationen zu erhalten. Jetzt werden wir etwas fast identisches tun.
(OPTIONAL: Erstellen Sie einen sublAlias zur Verwendung in Git Bash):
Öffnen Sie einen Texteditor (z. B. Notepad, Notepad ++, Sublime Text, Geany usw.) und erstellen Sie eine Datei mit dem Namen ".bash_profile" in Ihrem Home-Verzeichnis. Sein Weg wird daher sein : C:\Users\MY_USER_NAME\.bash_profile. Speichern Sie Folgendes darin:
alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"
Dadurch wird ein Git Bash-Alias mit dem Namen erstellt subl, den wir jetzt in Git Bash für Windows verwenden können, um Sublime Text einfach zu öffnen. Dieser Schritt ist nicht erforderlich, aber für die allgemeine Verwendung von Git Bash nützlich. Jetzt können Sie subl .beispielsweise Git Bash aufrufen , um ein neues Sublime Text-Projekt in Ihrem aktuellen Verzeichnis zu öffnen.
(VERPFLICHTEND):
Bearbeiten Sie die .gitconfigDatei in Ihrem Home-Verzeichnis : C:\Users\MY_USER_NAME\.gitconfig, indem Sie Folgendes hinzufügen. Beachten Sie die subtilen Änderungen gegenüber den obigen Linux-Anweisungen:
[core]
editor ='C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
Beachten Sie, dass Sie den vollständigen Pfad zur ausführbaren Datei von Sublime Text angeben müssen. Beachten Sie die Richtung der Schrägstriche! Verwenden Sie /NICHT \, um Ordner im Pfadnamen zu trennen! (Danke VonC, dass du mir geholfen hast, das zu sehen ).
Unser sublAlias, den wir oben für Git Bash erstellt haben, funktioniert hier nicht. Sie können ihn also nicht wie im Linux-Beispiel verwenden. Stattdessen müssen Sie den gesamten Pfad wie oben gezeigt angeben.
Das ~Symbol funktioniert hier jedoch weiterhin, um zu Ihrem Windows-Ausgangsverzeichnis zu gelangen.
2.5. (Optional) Installieren Sie das "Git" -Paket in Sublime Text 3.
Auf diese Weise erhalten Sie Syntaxhervorhebungen für git commitNachrichten sowie Zugriff auf andere Git-Befehle wie git blame(die ich häufig in Sublime Text verwende) oder git commit(die ich in Sublime Text nicht verwende, da ich die Befehlszeile für allgemeines Git bevorzugen würde fließen, wie ich in meinen Kommentaren unter dieser Antwort erwähnt habe).
So installieren Sie ein Paket: Stellen Sie zunächst sicher, dass "Package Control" installiert ist. Drücken Sie anschließend Ctrl+ Shift+ P(wie Extras → Befehlspalette) und geben Sie "Paketsteuerung: Paket installieren" ganz oder teilweise ein Enter. Drücken Sie dann . Suchen Sie im daraufhin angezeigten Suchfeld nach dem Paket "Git" und Enterklicken Sie darauf oder klicken Sie darauf, um es automatisch zu installieren.
Nach der Installation werden durch Ctrl+ Shift+ Pund die Suche nach "git" Git-Befehle angezeigt, die Sie jetzt intern in Sublime Text verwenden können, z git blame.
3. Verwenden Sie es
Wenn Sie git commitzum Beispiel wie gewohnt über die Befehlszeile aufrufen , wird Sublime Text .gitconfig.sublime-projectmit den Einstellungen dieses Projekts in das oben erstellte geöffnet ! Wenn Sie einen Absatz eingeben, werden Sie feststellen, dass er über das von uns festgelegte Lineal hinausgeht, da der weiche Zeilenumbruch deaktiviert ist. Um einen Hard Wrap über automatisch eingefügte Hard Returns am Ende jeder Zeile zu erzwingen, setzen Sie den Cursor auf die lange Zeile, die automatisch umbrochen werden soll, und drücken Sie Alt+ Q. Es wird jetzt mit 72 Zeichen fest umbrochen / gefaltet, was wir im obigen Parameter "Lineale" der Projekteinstellungen festgelegt haben.
Speichern Sie nun Ihre Commit-Nachricht mit Ctrl+ Sund beenden Sie (um Ihre zu vervollständigen git commit) mit Ctrl+ Shift+ W.
In Sublime Text 3 gibt es jetzt einen Git CommitSyntaxtyp. Sie können den benutzerdefinierten Schritt "Sublime-Text-Projekt" jetzt überspringen.
yegeniy
Ich bin anderer Meinung: Das hebt nur die Syntax hervor. Mein benutzerdefiniertes Projekt berührt nicht die Syntax-Higlighting-Funktion: Es legt Lineale fest und gibt einen Kontext an, in dem sich Ihre Git-Commits öffnen können, damit sie sich nicht in dem Projekt öffnen, das Sie zuletzt geöffnet haben oder hatten. Die beiden sind nicht verwandt; mach sie beide.
Gabriel Staples
Ich habe gerade Schritt 2.5 hinzugefügt, ABER (Bit "aber" hier): Ich verwende nicht immer Sublime Text 3 als Editor (manchmal verwende ich Eclipse, da es eine weitaus bessere Symbolverfolgung und -indizierung als Sublime bietet, obwohl es ansonsten ein beschissener Editor ist im Vergleich zu Sublime), und ich bevorzuge es wirklich, Git über die Befehlszeile zu verwenden, daher empfehle ich definitiv nicht, Schritt 1 zu überspringen, selbst wenn Sie das "Git" -Paket in Sublime installieren, wie ich es gerade in Schritt 2.5 beschrieben habe. Ja, Sie können Git Commits direkt von Sublime aus ausführen, aber ich würde die Befehlszeile bevorzugen.
Gabriel Staples
TIPP: Wenn Sie sublimemit gitund auch verwenden trim_trailing_white_space_on_save, möchten Sie einen Alias für das Hinzufügen von Patches hinzufügen, da das Entfernen von nachgestellten Leerzeichen Patch-Änderungen unterbricht, bei denen dies sehr sinnvoll ist. Dies kann mit so etwas erreicht werden:git config --global alias.patch "-c core.editor=vim add --patch"
Timo
3
Mvim als dein Git-Editor
Wie bei allen anderen GUI-Anwendungen müssen Sie mvim mit dem Warteflag starten.
Für Benutzer von TextWrangler aus dem Mac App Store:
git config --global core.editor "open -n -W -a TextWrangler"
Stellen Sie außerdem sicher, dass die Einstellung "TextWrangler> Einstellungen> Anwendung> Wenn TextWrangler aktiv wird:" auf "Nichts tun" gesetzt ist.
Dies funktioniert für mich unter OS X 10.11.4 mit TextWrangler 5.0.2 aus dem Mac App Store.
Erläuterung:
Das -n bedeutet in einer neuen Instanz öffnen.
Das -W bedeutet, zu warten, bis die Anwendung beendet wird, bevor der Inhalt der bearbeiteten Datei als Festschreibungsnachricht verwendet wird.
Der -a TextWrangler bedeutet, dass Sie die TextWrangler-Anwendung verwenden, um die Datei zu öffnen.
man openWeitere Informationen finden Sie in Ihrer Mac Terminal-App.
Wenn TextWrangler bereits geöffnet ist, öffnet Ihre Lösung eine andere Instanz mit demselben Dateisatz wie die erste. Das scheint gefährlich.
Klaas
Ich habe die TextWrangler-Befehlszeilentools ( barebones.com/support/textwrangler/cmd-line-tools.html ) installiert und dann verwendet git config --global core.editor "edit -w". Dadurch wird die Festschreibungsnachricht in der aktuellen Instanz geöffnet. Sobald Sie nur dieses Festschreibungsnachrichtendokument schließen, wird die Festschreibung fortgesetzt.
Klaas
1
Bei der Verwendung musste git-reviewich den sequence.editorWert ändern , um interaktive Rebase ( git rebase -i -p) ausführen zu können :
git config --global sequence.editor "gvim"# or whatever your prefer
Nur weil ich hierher gekommen bin, um nach einer einmaligen Lösung zu suchen (in meinem Fall verwende ich normalerweise, vimaber dieses Mal wollte ich VS-Code verwenden), für einen einzelnen Befehl, und andere möchten vielleicht auch wissen:
GIT_EDITOR='code -w' git rebase -i …
Hier ist meine git/ hubVersion nur für den Kontext:
git version 2.24.2(Apple Git-127)
hub version 2.14.1
Als ich versuchte, Rebase zu aktivieren, wurde der folgende Fehler angezeigt: 'Hinweis: Warten auf das Schließen der Datei durch Ihren Editor ... Code -n -w: Code: Befehl nicht gefunden Fehler: Es gab ein Problem mit dem Code des Editors -n -w '.'
Der gleiche Fehler trat auf, als ich versuchte, IntelliJ mit Git zu verknüpfen:
Das Problem war , dass ich nicht der Befehl habe Code in meiner Umgebung PATH - Variablen hinzugefügt. Und ich wollte Visual Studio Code nicht von meinem Terminal aus verwenden. Deshalb wurde "Befehl nicht gefunden" angezeigt. Ich habe dies durch Löschen gelöst
editor = code -n -w
aus dem Kernabschnitt in meiner .gitconfig-Datei. Git hat wieder richtig funktioniert.
Antworten:
Wenn Sie den Editor nur für Git einstellen möchten , gehen Sie wie folgt vor (Sie benötigen nicht beide):
core.editor
in Ihrer Git-Konfiguration Folgendes ein:git config --global core.editor "vim"
GIT_EDITOR
Umgebungsvariable fest:export GIT_EDITOR=vim
Wenn Sie den Editor für Git und andere Programme festlegen möchten , legen Sie die Standard-
VISUAL
undEDITOR
Umgebungsvariablen * fest:* Das Einstellen von beiden ist nicht unbedingt erforderlich, aber einige Programme verwenden möglicherweise nicht das korrektere
VISUAL
. SieheVISUAL
vs.EDITOR
.Für erhabenen Text : Fügen Sie dies dem hinzu
.gitconfig
. Das--wait
ist wichtig (es ermöglicht das Eingeben von Text in erhabenem Zustand und wartet auf das Speichern / Schließen-Ereignis.)'subl' kann durch den vollständigen Pfad der ausführbaren Datei ersetzt werden, ist jedoch normalerweise bei korrekter Installation verfügbar.
quelle
git config --global
dies in Ihre persönliche Git-Konfigurationsdatei (pro Benutzer) geschrieben wird. Auf Unices ist es~/.gitconfig
. Dies würde es also für alle Ihre Repositorys konfigurieren.git commit --amend
-w
ist nicht notwendig;-w {scriptout}
speichert alle Zeichen, die Sie beim Bearbeiten eingeben, um sie später wiederzugeben. Vielleicht verwechseln Sie es mit-f
, was beim Aufrufen der GUI-Version von Vim erforderlich ist . Das heißt, wenn Sie verwendenmvim
, sollte der von Ihnen angegebene Editormvim -f
eher als seinmvim
.Kopieren Einfügen:
Falls Sie wissen möchten, was Sie tun. Von
man git-commit
:quelle
VISUAL
oder verwendenEDITOR
, aber sie verwenden sicherlich nichtGIT_EDITOR
odercore.editor
.Unter Ubuntu und auch unter Debian (danke @MichielB) ist das Ändern des Standardeditors auch durch Ausführen von:
Was Folgendes auffordert:
quelle
alternatives
System ist eine viel einfachere Möglichkeit, die Standardeinstellungen für die unterstützten Programmtypen zu verwalten. Als Referenz: debian-administration.org/article/91/…GIT_EDITOR
undEDITOR
nicht --ubuntuupdate-alternatives
zeigt alle installierten Editoren an. Koen hat Emacs einfach nicht installiert.In Windows 7 gab es beim Hinzufügen des Editors "Sublime" immer noch einen Fehler:
Sublime konnte den Fokus nicht halten.
Um dies zu beheben, öffnete ich die .gitconfig-Datei im Ordner c: / users / username / und fügte die folgende Zeile mit der Option --wait außerhalb der doppelten Anführungszeichen hinzu.
Ich hoffe, es ist hilfreich für jemanden, der mit Sublime vor einem ähnlichen Problem steht.
quelle
git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
Setzen Sie in Windows 7 den Editor auf Notepad ++
C:\Users\YOUR_USERNAME\.gitconfig
git commit
und drücken SieEnter
. Es öffnet sich Notepad ++.quelle
-multiInst
Notepad ++ und möglicherweise mindestens einen Parameter hinzufügen-notabbar
. Tun Sie dies, wenn Git nicht zu wissen scheint, wann Sie die Datei bearbeitet haben und entweder für immer oder gar nicht warten.>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
- Das heißt, Parameter außerhalb der abgrenzenden einfachen AnführungszeichenSo machen Sie Visual Studio Code (vscode) zu Ihrem Standard-Git-Editor
quelle
Und wenn Sie mit Designern über die Kommandozeile arbeiten, dann Pico, und keine Abkürzungen kennen;)
Oder
quelle
Atom als dein Git-Editor
quelle
Festlegen von Sublime Text 2 als Git-Commit-Editor unter Mac OS X 10
Führen Sie diesen Befehl aus:
Oder nur:
quelle
-w
Parameter ebenfalls. Z.B.$ git config --global core.editor "code -w"
. Ordentliches ZeugWindows: Festlegen des Notizblocks als Standard-Editor für Festschreibungsnachrichten
Drücken Sie Ctrl+ S, um Ihre Commit-Nachricht zu speichern. Schließen Sie zum Verwerfen einfach das Notizblockfenster, ohne es zu speichern.
Wenn Sie die Verknüpfung zum Speichern drücken und dann abbrechen, gehen Sie zu Datei-> Speichern unter und ändern Sie im daraufhin angezeigten Dialogfeld "Dateityp" in "Alle Dateien (*. *)". Sie sehen eine Datei mit dem Namen "COMMIT_EDITMSG". Löschen Sie es und schließen Sie das Notizblockfenster.
Bearbeiten: Alternativ und einfacher können Sie den gesamten Inhalt aus dem geöffneten Notizblockfenster löschen und auf Speichern klicken. (danke mwfearnley für den Kommentar!)
Ich denke für kleine Zuschreibungen wie Commit-Nachrichten dient der Editor am besten, weil es einfach ist, mit Fenstern da ist, sich in kürzester Zeit öffnet. Sogar Ihr Erhabener kann ein oder zwei Sekunden brauchen, um in Schwung zu kommen, wenn Sie eine Menge Plugins und ähnliches haben.
quelle
\r\n
schätze ich, dass es mit (Newline in Windows) und\n
(Newline unter Linux, auch Standard für Git) zu tun hat .core.editor = 'notepad' .git/COMMIT_EDITMSG --wait
damit sie die Standardbearbeitungsnachricht öffnet und speichert und Sie nicht "Speichern unter" benötigenDies bietet eine Antwort für Personen, die zu dieser Frage gelangen und möglicherweise einen anderen Editor als vim verknüpfen möchten.
Die verknüpfte Ressource von Github wird wahrscheinlich auf dem neuesten Stand gehalten, wenn die Editoren aktualisiert werden, auch wenn die Antworten auf SO (einschließlich dieser) nicht zutreffen.
Verknüpfen von Texteditoren mit git
Githubs Beitrag zeigt genau, was Sie für verschiedene Editoren in Ihre Befehlszeile eingeben müssen, einschließlich der Optionen / Flags, die für jeden Editor spezifisch sind, damit es am besten mit git funktioniert.
Editor ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Erhabener Text:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"
Atom:
git config --global core.editor "atom --wait"
Die obigen Befehle setzen voraus, dass Ihr Editor im Standardverzeichnis für einen Windows-Computer installiert wurde.
Die Befehle fügen im Wesentlichen den Text zwischen doppelten Anführungszeichen
.gitconfig
in Ihrem Home-Verzeichnis hinzu.Auf einem Windows-Computer befindet sich wahrscheinlich zu Hause
C:\Users\your-user-name
, wo Ihr Benutzername Ihr Anmeldename ist.Über die Befehlszeile können Sie dieses Verzeichnis durch Eingabe erreichen
cd ~
.Ein Befehl oben würde beispielsweise die folgende Zeile unter dem folgenden
[core]
Abschnitt hinzufügen :[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w
Wenn Sie einen anderen Editor haben, ersetzen Sie ihn einfach durch den Pfad zu Ihrem Editor. Verwenden Sie dazu eine der oben genannten Methoden. (und hoffe, dass für eine optimale Nutzung keine Flags benötigt werden.)
quelle
Für Emacs-Benutzer
.emacs
::shellrc
::quelle
git config --global core.editor "emacs -nw"
git config --global core.editor "emacs -nw -q"
, wo die-q
Initialisierungsdateien übersprungen.Beste Einstellungen für Sublime Text 3 als Git-Editor (Windows- und Linux-Anweisungen):
Um diese Anweisungen in Windows zu befolgen, stellen Sie sicher, dass Sie Git für Windows installiert haben . Unter Windows verwende ich gerne Git Bash, damit es sich eher wie Linux anfühlt.
Zunächst möchten wir ein spezielles Sublime Text-Projekt erstellen, damit wir spezielle Projekteinstellungen festlegen können, die festgelegt werden sollen, wenn Git den Editor aufruft, um die Bearbeitung in Git zu vereinfachen. Zum Beispiel setze ich mein Lineal normalerweise in den meisten Projekten auf 120 Zeichen, aber für Git-Commit-Nachrichten möchte ich, dass es 72 Zeichen enthält, damit es gut in ein Terminal passt, wenn Sie
git log
oder anrufengit lg
.1. Erstellen Sie ein Sublime Text-Projekt mit Einstellungen, die wir zum Bearbeiten von Git-Commit-Nachrichten verwenden möchten
Öffnen Sie Sublime Text und gehen Sie zum Menü "Datei" → "Neues Fenster" , um ein neues anonymes Projekt zu erstellen. Gehen Sie zum Menü "Projekt" → "Projekt speichern unter ..." und wählen Sie einen Ort zum Speichern. Unter Linux habe ich es in meinem Linux-Ausgangsverzeichnis mit dem Dateinamen gespeichert
.gitconfig.sublime-project
. Sein Weg ist daher :~/.gitconfig.sublime-project
. Speichern Sie es unter Windows auch in Ihrem Home-Verzeichnis, zum Beispiel:C:\Users\MY_USER_NAME\.gitconfig.sublime-project
Gehen Sie nun zum Menü "Projekt" → "Projekt bearbeiten " , um die Projekteinstellungen zu bearbeiten. Fügen Sie Folgendes ein und speichern Sie die Einstellungen. Nehmen Sie bei Bedarf weitere Änderungen an Ihren Projekteinstellungen vor.2. Stellen Sie den von Git zu verwendenden Editor ein
Jetzt müssen wir den Editor so einstellen, dass er von Git verwendet wird, indem wir die
.gitconfig
Datei bearbeiten .Für Linux:
Ihre Benutzerkopie davon befindet sich in
~/.gitconfig
. Öffnen Sie diese Datei und fügen Sie die folgenden Zeilen hinzu. Stellen Sie sicher, dass Sie den richtigen Pfadnamen für das Git-Projekt verwenden, das Sie gerade erstellt haben! Ich benutze~/.gitconfig.sublime-project
.Dies
--wait
ist wichtig, da Git gezwungen ist, zu warten, bis Sie die Datei schließen, bevor sie fortgesetzt wird. Die--project
Zeile ist wichtig, um Sublime Text mitzuteilen, welches Projekt geöffnet werden soll, wenn Git Sublime Text öffnet.Gemäß der obigen Antwort von @ digitaldreamer ( https://stackoverflow.com/a/2596835/4561887 ) kann "
subl
durch den vollständigen Pfad der ausführbaren Datei ersetzt werden, aber [der Aliassubl
] ist normalerweise verfügbar, wenn [Sublime] korrekt installiert ist."Für Windows:
Lesen Sie unter Windows zunächst die Linux-Anweisungen, um Hintergrundinformationen zu erhalten. Jetzt werden wir etwas fast identisches tun.
(OPTIONAL: Erstellen Sie einen
subl
Alias zur Verwendung in Git Bash):Öffnen Sie einen Texteditor (z. B. Notepad, Notepad ++, Sublime Text, Geany usw.) und erstellen Sie eine Datei mit dem Namen ".bash_profile" in Ihrem Home-Verzeichnis. Sein Weg wird daher sein :
C:\Users\MY_USER_NAME\.bash_profile
. Speichern Sie Folgendes darin:Dadurch wird ein Git Bash-Alias mit dem Namen erstellt
subl
, den wir jetzt in Git Bash für Windows verwenden können, um Sublime Text einfach zu öffnen. Dieser Schritt ist nicht erforderlich, aber für die allgemeine Verwendung von Git Bash nützlich. Jetzt können Siesubl .
beispielsweise Git Bash aufrufen , um ein neues Sublime Text-Projekt in Ihrem aktuellen Verzeichnis zu öffnen.(VERPFLICHTEND):
Bearbeiten Sie die
.gitconfig
Datei in Ihrem Home-Verzeichnis :C:\Users\MY_USER_NAME\.gitconfig
, indem Sie Folgendes hinzufügen. Beachten Sie die subtilen Änderungen gegenüber den obigen Linux-Anweisungen:/
NICHT\
, um Ordner im Pfadnamen zu trennen! (Danke VonC, dass du mir geholfen hast, das zu sehen ).subl
Alias, den wir oben für Git Bash erstellt haben, funktioniert hier nicht. Sie können ihn also nicht wie im Linux-Beispiel verwenden. Stattdessen müssen Sie den gesamten Pfad wie oben gezeigt angeben.~
Symbol funktioniert hier jedoch weiterhin, um zu Ihrem Windows-Ausgangsverzeichnis zu gelangen.2.5. (Optional) Installieren Sie das "Git" -Paket in Sublime Text 3.
Auf diese Weise erhalten Sie Syntaxhervorhebungen für
git commit
Nachrichten sowie Zugriff auf andere Git-Befehle wiegit blame
(die ich häufig in Sublime Text verwende) odergit commit
(die ich in Sublime Text nicht verwende, da ich die Befehlszeile für allgemeines Git bevorzugen würde fließen, wie ich in meinen Kommentaren unter dieser Antwort erwähnt habe).So installieren Sie ein Paket: Stellen Sie zunächst sicher, dass "Package Control" installiert ist. Drücken Sie anschließend Ctrl+ Shift+ P(wie Extras → Befehlspalette) und geben Sie "Paketsteuerung: Paket installieren" ganz oder teilweise ein Enter. Drücken Sie dann . Suchen Sie im daraufhin angezeigten Suchfeld nach dem Paket "Git" und Enterklicken Sie darauf oder klicken Sie darauf, um es automatisch zu installieren.
Nach der Installation werden durch Ctrl+ Shift+ Pund die Suche nach "git" Git-Befehle angezeigt, die Sie jetzt intern in Sublime Text verwenden können, z
git blame
.3. Verwenden Sie es
Wenn Sie
git commit
zum Beispiel wie gewohnt über die Befehlszeile aufrufen , wird Sublime Text.gitconfig.sublime-project
mit den Einstellungen dieses Projekts in das oben erstellte geöffnet ! Wenn Sie einen Absatz eingeben, werden Sie feststellen, dass er über das von uns festgelegte Lineal hinausgeht, da der weiche Zeilenumbruch deaktiviert ist. Um einen Hard Wrap über automatisch eingefügte Hard Returns am Ende jeder Zeile zu erzwingen, setzen Sie den Cursor auf die lange Zeile, die automatisch umbrochen werden soll, und drücken Sie Alt+ Q. Es wird jetzt mit 72 Zeichen fest umbrochen / gefaltet, was wir im obigen Parameter "Lineale" der Projekteinstellungen festgelegt haben.Speichern Sie nun Ihre Commit-Nachricht mit Ctrl+ Sund beenden Sie (um Ihre zu vervollständigen
git commit
) mit Ctrl+ Shift+ W.Erledigt!
Verbunden:
quelle
Git Commit
Syntaxtyp. Sie können den benutzerdefinierten Schritt "Sublime-Text-Projekt" jetzt überspringen.sublime
mitgit
und auch verwendentrim_trailing_white_space_on_save
, möchten Sie einen Alias für das Hinzufügen von Patches hinzufügen, da das Entfernen von nachgestellten Leerzeichen Patch-Änderungen unterbricht, bei denen dies sehr sinnvoll ist. Dies kann mit so etwas erreicht werden:git config --global alias.patch "-c core.editor=vim add --patch"
Mvim als dein Git-Editor
Wie bei allen anderen GUI-Anwendungen müssen Sie mvim mit dem Warteflag starten.
quelle
--remote-wait-silent
um hässliche Fehlermeldungen zu vermeiden :)Für Windows-Benutzer, die neovim mit dem Windows-Subsystem für Linux verwenden möchten :
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
Dies ist keine narrensichere Lösung, da sie beispielsweise keine interaktive Neugründung ermöglicht. Verbesserungen sehr willkommen!
quelle
Versuche es einfach
EDITOR=vim git commit
.Oder Sie können Ihren EDITOR so einstellen, dass er
export EDITOR=vim
in Ihrem Bashrc vorbeischaut.quelle
Für Benutzer von TextWrangler aus dem Mac App Store:
Stellen Sie außerdem sicher, dass die Einstellung "TextWrangler> Einstellungen> Anwendung> Wenn TextWrangler aktiv wird:" auf "Nichts tun" gesetzt ist.
Dies funktioniert für mich unter OS X 10.11.4 mit TextWrangler 5.0.2 aus dem Mac App Store.
Erläuterung:
Das -n bedeutet in einer neuen Instanz öffnen.
Das -W bedeutet, zu warten, bis die Anwendung beendet wird, bevor der Inhalt der bearbeiteten Datei als Festschreibungsnachricht verwendet wird.
Der -a TextWrangler bedeutet, dass Sie die TextWrangler-Anwendung verwenden, um die Datei zu öffnen.
man open
Weitere Informationen finden Sie in Ihrer Mac Terminal-App.quelle
git config --global core.editor "edit -w"
. Dadurch wird die Festschreibungsnachricht in der aktuellen Instanz geöffnet. Sobald Sie nur dieses Festschreibungsnachrichtendokument schließen, wird die Festschreibung fortgesetzt.Bei der Verwendung musste
git-review
ich densequence.editor
Wert ändern , um interaktive Rebase (git rebase -i -p
) ausführen zu können :gvim
benötigen:apt install vim-gtk
Verweise
quelle
Verwenden Sie für Mac OS X TextEdit oder den natürlichen Umgebungseditor für Text:
quelle
Nur weil ich hierher gekommen bin, um nach einer einmaligen Lösung zu suchen (in meinem Fall verwende ich normalerweise,
vim
aber dieses Mal wollte ich VS-Code verwenden), für einen einzelnen Befehl, und andere möchten vielleicht auch wissen:Hier ist meine
git
/hub
Version nur für den Kontext:quelle
Führen Sie den folgenden Befehl aus, um vim zum Standardeditor für git unter Ubuntu 20:04 zu machen :
quelle
Für IntelliJ-Benutzer
Als ich versuchte, Rebase zu aktivieren, wurde der folgende Fehler angezeigt: 'Hinweis: Warten auf das Schließen der Datei durch Ihren Editor ... Code -n -w: Code: Befehl nicht gefunden Fehler: Es gab ein Problem mit dem Code des Editors -n -w '.'
Der gleiche Fehler trat auf, als ich versuchte, IntelliJ mit Git zu verknüpfen:
Das Problem war , dass ich nicht der Befehl habe Code in meiner Umgebung PATH - Variablen hinzugefügt. Und ich wollte Visual Studio Code nicht von meinem Terminal aus verwenden. Deshalb wurde "Befehl nicht gefunden" angezeigt. Ich habe dies durch Löschen gelöst
aus dem Kernabschnitt in meiner .gitconfig-Datei. Git hat wieder richtig funktioniert.
quelle
Für Textmate-Benutzer
Dadurch wird der Textmate-Editor geöffnet, wenn Sie Ihre Commits bearbeiten möchten. Erfordert die Installation von textmate-Befehlszeilentools.
git config --global core.editor "mate -w"
quelle
git config --global core.editor "/usr/local/bin/mate -w"
Für Windows-Benutzer, die den Kinesics-Texteditor verwenden möchten
Erstellen Sie eine Datei mit dem Namen 'k.sh', fügen Sie den folgenden Text hinzu und platzieren Sie ihn in Ihrem Home-Verzeichnis (~):
Geben Sie an der Git-Eingabeaufforderung Folgendes ein:
quelle