655 Stimmen

Wie kann ich einen Editor für die Arbeit mit Git unter Windows einrichten?

Ich probiere aus Git unter Windows . Ich kam zu dem Punkt, an dem ich "git commit" versuchte, und erhielt diesen Fehler:

Terminal ist stumm, aber kein VISUAL noch EDITOR definiert. Bitte geben Sie die Nachricht entweder mit der Option -m oder -F.

Also habe ich herausgefunden, dass ich eine Umgebungsvariable namens EDITOR benötige. Kein Problem. Ich habe sie so gesetzt, dass sie auf Notepad zeigt. Das hat funktioniert, fast. Die Standardübertragungsnachricht wird in Notepad geöffnet. Aber Notepad unterstützt keine reinen Zeilenvorschübe. Ich ging los und holte Notepad++ aber ich kann nicht herausfinden, wie ich Notepad++ als den %EDITOR% so zu gestalten, dass es wie erwartet mit Git funktioniert.

Ich bin nicht mit Notepad++ verheiratet. Zu diesem Zeitpunkt ist es mir egal, welchen Editor ich verwende. Ich möchte nur in der Lage sein Commit-Meldungen in einem Editor eingeben und nicht über die Befehlszeile (mit -m ).

Diejenigen von Ihnen, die Git unter Windows verwenden: Welches Tool verwenden Sie, um Ihre Commit-Nachrichten zu bearbeiten, und was mussten Sie tun, damit es funktioniert?

0voto

kghastie Punkte 689

Dies funktioniert bei mir mit Cygwin und TextPad 6 (EDIT: es funktioniert auch mit TextPad 5, wenn man die offensichtliche Änderung im Skript vornimmt), und vermutlich kann das Modell auch für andere Editoren verwendet werden:

Datei ~/.gitconfig :

[core]
    editor = ~/script/textpad.sh

Datei ~/script/textpad.sh :

#!/bin/bash

APP_PATH=`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`
FILE_PATH=`cygpath -w $1`

"$APP_PATH" -m "$FILE_PATH"

Dieser Einzeiler funktioniert auch:

Datei ~/script/textpad.sh (Option 2):

"`cygpath "c:/program files (x86)/textpad 6/textpad.exe"`" -m "`cygpath -w $1`"

0voto

javimsevilla Punkte 41

Das hat bei mir funktioniert:

  1. Fügen Sie das Verzeichnis, das die ausführbare Datei des Editors enthält, zu Ihrem PATH variabel. (z.B.. " C:\Program Dateien \Sublime Text 3\" )
  2. Starten Sie Ihren Computer neu.
  3. Ändern Sie die core.editor globale Git-Variable auf den Namen der ausführbaren Datei des Editors ohne die Erweiterung '.exe' (z. B. git config --global core.editor sublime_text)

Das war's!

HINWEIS: Erhabener Text 3 ist der Editor, den ich für dieses Beispiel verwendet habe.

0voto

Zombo Punkte 1

Hier ist eine Lösung mit Cygwin:

#!/bin/dash -e
if [ "$1" ]
then k=$(cygpath -w "$1")
elif [ "$#" != 0 ]
then k=
fi
Notepad2 ${k+"$k"}
  1. Wenn kein Pfad, kein Pfad übergeben

  2. Wenn Pfad leer ist, leeren Pfad übergeben

  3. Wenn der Pfad nicht leer ist, in das Windows-Format konvertieren.

Dann setze ich diese Variablen:

export EDITOR=notepad2.sh
export GIT_EDITOR='dash /usr/local/bin/notepad2.sh'
  1. EDITOR ermöglicht Skript mit Git zu arbeiten

  2. GIT_EDITOR ermöglicht dem Skript die Arbeit mit Hub-Befehle

Quelle

0voto

mbx Punkte 5915

Bei Verwendung eines ferngesteuerten Homedrive ( Samba Freigabe, NFS, ...) Ihr ~/.git Ordner wird von allen Systemen gemeinsam genutzt, was zu verschiedenen Problemen führen kann. Daher ziehe ich ein Skript vor, das den richtigen Editor für das richtige System ermittelt:

#!/usr/bin/perl
# Detect which system I'm on and choose the right editor
$unamea = `uname -a`;
if($unamea =~ /mingw/i){
    if($unamea =~ /devsystem/i){#Check hostname
        exec('C:\Program Files (x86)\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
    if($unamea =~ /testsystem/i){
        exec('C:\Program Files\Notepad++\notepad++.exe', '-multiInst', '-nosession', @ARGV);
    }
}
$MCEDIT=`which mcedit`;
if($MCEDIT =~ /mcedit/){
    exec($MCEDIT, @ARGV);
}
$NANO=`which nano`;
if($NANO =~ /nano/){
    exec($NANO, @ARGV);
}
die "You don't have a suitable editor!\n";

Man könnte ein einfaches Shell-Skript in Betracht ziehen, aber ich habe Perl verwendet, da es mit msysgit ausgeliefert wird und Ihr Unix-ähnlich Systeme bieten in der Regel ebenfalls eine solche Möglichkeit. Einfügen des Skripts in /home/username/bin die hinzugefügt werden sollte zu PATH en .bashrc o .profile . Einmal hinzugefügt mit git config --global core.editor giteditor.pl Sie haben den richtigen Redakteur, egal wo Sie sind.

0voto

Gabriel Staples Punkte 20228

Diejenigen von Ihnen, die Git unter Windows verwenden: Welches Tool verwenden Sie, um Ihre Commit-Nachrichten zu bearbeiten, und was mussten Sie tun, damit es funktioniert?

Das Werkzeug, das ich am nützlichsten finde, da es sowohl meine Git-Editor y mein Allzweck-Code-Editor sowohl in Windows y Linux, ist Sublime Text 3 . Es funktioniert wirklich gut, aber erfordert ein wenig Einrichtung, um es genau richtig, so habe ich vollständig dokumentiert, dass vollständig hier:

Randbemerkung zu meinem Haupteditor: Für große Projekte verwende ich Eclipse als primären Editor und Sublime Text 3 als Git-Editor und zusätzlichen Dateieditor, wenn ich seine erweiterten Funktionen wie den Multi-Cursor-Modus, den vertikalen/spaltenweisen Auswahlmodus usw. nutzen muss. Für kleine bis mittlere Projekte verwende ich nur Sublime Text 3 allein. Eine Anleitung zur Einrichtung von Eclipse finden Sie unter mein PDF-Dokument hier .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X