2013-02-25 11 views
6

Ich bin ein neuer Benutzer von Git für Windows. Ich habe von Google Code (1.8.1.2 und 1.7 als Testversion) installiert.Git für Windows

Ich kann einige Git Befehle ausgeben, und sie sind in Ordnung und funktionieren perfekt. Die Befehle 'git diff' und 'git log' funktionieren jedoch nicht. Diese Befehle kommen mit

zurück

Ich habe versucht, zu deinstallieren und neu zu installieren. Ich habe auch GitHub für Windows auf meinem Rechner. Die Maschine ist Windows 7, sehr neu gebaut.

Kann mir jemand helfen oder mir diagnostische Hinweise geben, warum diese beiden Befehle fehlschlagen?

+0

Was bedeutet 'GIT_TRACE = 1 git diff 'und' GIT_TRACE = 1 git log 'return? – eckes

+0

Trace: eingebaut: git 'diff' Trace: run_befehl: '' \ '' '\' '' '':: Befehl nicht gefunden . Das gleiche gilt für git log auch –

Antwort

2

In .gitconfig war der Pager-Wert ein leerer String. Jeder git-Befehl, der zu einem Pager pipettiert (dh git-diff oder git-log), wird mit einem Befehl nicht gefunden fehlschlagen, weil DOS aufgefordert wird, eine leere Zeichenfolge als Befehl auszuführen. Keine Ahnung, wie es passiert ist.

3

Es klingt, als wäre Ihre .gitconfig-Datei möglicherweise nicht korrekt eingerichtet oder der Umgebungs-PATH fehlt.

Für Leute, die neu sind empfehle ich fast immer git, dass sie mit dem ersten beginnen entweder

Git Hub for Windows (am einfachsten für neue Leute)

oder

(nicht sicher, ob das, was Sie installiert)

+1

.gitconfig ist ... [user] \t name = Steve Hibbert \t email = stevehibbert @ email.com [core] \t editor = subl \t Pager = '' [gui] \t recentrepo = C:/Home/Rialto –

+0

Pfad zu groß einzufügen, aber auch andere git Befehle funktionieren, so weiß ich, dass git.exe wird zumindest gefunden, also nehme ich an, dass das ausführbare git-Verzeichnis in der PATH-Systemumgebung var liegt. –

+0

Es war die .gitconfig - nur ein leerer Pager. Danke für Ihre Bemühungen, sehr geschätzt, Prost. –

2

Pfad zu groß

einfügen

Stellen Sie sicher, Ihre PATH auch nicht ist groß oder es könnte abgeschnittene, mit seltsamen Nebenwirkungen (wie möglicherweise auch Ihre Fehlermeldungen)

Versuchen und starten git-cmd.bat oder git-bash shortcut, beide enthalten am Ende in die msysgit distribution.
Sie werden die PATH ergänzen und stellen HOME (was sehr wichtig ist, da Windows keine HOME standardmäßig nicht gesetzt) ​​

In diesen Sitzungen (git-cmd oder bash) sollte git diff arbeiten.

Die tatsächliche Lösung wie die, die in "msysGit: Why does git log output blank lines?" war: den Pager gesetzt

[core] 
    pager = less -R 
+0

Ja, eine große PATH-Variable wäre ein Problem. Ich habe den PATH getestet, indem ich eine einfache Batch-Datei in das zuletzt genannte Verzeichnis geschrieben habe (zufällig ein JRE7-Verzeichnis) und von außerhalb dieses Verzeichnisses aufruft - und es ist gut, also ist es nicht die PATH-Variable, die abgeschnitten wird, aber gute Idee. –

+0

... und ja, ich benutze Git Bash, ich hätte das in originale Noten aufnehmen sollen. –

+0

@SteveHibbert da Sie mehrere Git installiert haben, gibt es eine Chance, dass msysgit Befehle mit dem falschen Git (die von TortoiseGit oder "GitHub für Windows") versucht? Könnten Sie versuchen, einen * minimalen * Pfad (wie 'C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ prog \ git \ PortableGit-1.8.0-preview20121022 \ bin zu setzen ') in einer' git-cmd.bat' Sitzung, und sehen, ob das besser funktioniert? – VonC

Verwandte Themen