2016-06-15 8 views
0

Ich bin auf this MOOC, um über Git zu lernen. Nach this video möchte ich meinen ersten Commit in meinem Repository machen. So lief ich git commit Befehl, erwartet, dass Sublime Text Editor gestartet wird, wo ich meine Commit Nachricht eingeben werde. Aber ich habe den folgenden Fehler erhalten. Die Frage ist, wie kann ich das beheben?Git Commit - Warum GitBash startet nicht meine Standard-Texteditor (sublime) für mich Commit Nachricht eingeben

Jojoa (master +) Directory for practice $ git commit 
'C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe' -n -w: C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe: No such file or directory 
error: There was a problem with the editor ''C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe' -n -w'. 
Please supply the message using either -m or -F option. 

Wie ich Sublime Text als Standardeditor eingerichtet hatte:

this lesson als Leitfaden, lief ich den folgenden Befehl Sublime Text als Standard-Text einrichten Editor.

git config --global core.editor "'C:/Program\ Files/Sublime\ Text \2/sublime_text.exe' -n -w" 

Dann lief ich C:/Program\ Files/Sublime\ Text \2/sublime_text.exe und dies startete den Sublime Text-Editor. Dies bestätigte, dass der obige Befehl ordnungsgemäß funktionierte.

Dann ging ich weiter die Bash_profile Konfigurationsdatei im sublimen Texteditor bearbeiten Sie die folgende Zeile, um es hinzuzufügen:

alias sublime = "C:/Program\ Files/Sublime\ Text \2/sublime_text.exe" 

Dann schloss ich und öffnete Git Bash und lief sublime. Dies öffnete den Sublime Text Editor. So wurde mir klar, dass der Arbeitsbereich korrekt eingerichtet wurde.

+1

Ich denke, Sie sollten entweder die einfachen Anführungszeichen entfernen oder die Escape-Zeichen: 'Programm \ Files' oder' 'Program Files'' – andlrc

+0

@andlrc Aber es öffnet sublimen Editor mit dem einfachen Befehl 'sublimen ', und das bedeutet, dass der Editor korrekt konfiguriert ist. Ist es nicht? – Solace

Antwort

1

Folgendes sollte für Sie arbeiten:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w" 

Der Grund Ihrer Alias ​​funktioniert, weil es von der Shell erweitert wird:

alias sublime="C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe" 
sublime -> C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -> 
'C:/Program Files/Sublime Text 2/sublime_text.exe' 

FYI, ist ein Alias ​​nur in den Schalen-Speicher und Kann nicht von einem Prozess verwendet werden, der von der Shell aufgerufen wird. Sie könnten ein Skript mit dem Namen subl erstellen und es irgendwo in Ihrem $PATH:

platzieren

Die oben ermöglicht es Ihnen, den Befehl zu verwenden subl überall, auch als git core.editor:

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

Alternative Sie $VISUAL oder $EDITOR Umgebungsvariablen können die git, wenn kein Kern verwendet wird.Editor gesetzt:

export EDITOR="C:/Program Files/Sublime Text 2/sublime_text.exe" 
0

Standardmäßig verwendet Git alles, was Sie als Standard-Texteditor festgelegt haben ($VISUAL oder $EDITOR) oder greift zurück auf den Editor vi, um Ihre Commit- und Tag-Nachrichten zu erstellen und zu bearbeiten. Um sonst so den Standard etwas zu ändern, können Sie die core.editor Einstellung verwenden:

$ git config --global core.editor emacs 

Nun, egal, was als Standard-Shell-Editor festgelegt ist, wird Git Emacs anwerfen, um Nachrichten zu bearbeiten.

Verwandte Themen