Wie kann ich vollständige Pfade im git?
Dieser Befehl funktioniert:
git diff relative/path/to/file.ext
Aber wenn ich den vollständigen Pfad verwenden, git, sagt, dass der Pfad "außerhalb repository":
git diff /full/path/then/relative/path/to/file.ext
Nehme ich git nicht finden .git-Verzeichnis in /voll, so dass ist, warum es scheitert.
Aber wie mache ich git verstehen vollständigen Pfade, wie subversion funktioniert?
Update: git-version 1.7.0.5
Update: Diese Dateien sind immer in meinem repository, und meine aktuelle Verzeichnis ist auch in meinem repository! Es gibt noch Fehler.
- Erklären Sie, warum tun Sie müssen dies?
- "außerhalb repository" in der Regel bedeutet, dass das aktuelle Verzeichnis ist nicht Teil des git-repository, so git-Befehle funktionieren nicht. Ändern in ein git-Arbeitsverzeichnis, und es sollte funktionieren mit jedem Pfad.
- Manchmal stoße ich auf vollständige Pfade zu den Dateien in mein repository übernehmen. Ich will nicht zu tüfteln, um die Auswahl des richtigen Teil des Pfads, um diff, ich will einfach nur, um einen Doppelklick im terminal wählen Sie den gesamten Dateipfad, einfügen, zurück in und fügen Sie ein 'git diff' am Anfang der Zeile. Das ist viel schneller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welche version von git verwenden Sie? Es sollte funktionieren, unabhängig von dem format, der Pfad, d.h.
Aber Sie müssen sich innerhalb des git-repository für diese Arbeit! Wenn du unbedingt den git-Befehl ausgeführt werden, die von außerhalb des repository, verwenden Sie die
--work-tree
und--git-dir
Schalter:~/git
ist die top-level-Verzeichnis, in dem die worktree und .git-Verzeichnis~
im--work-tree
; ich hatte, um den vollständigen Pfad verwenden.Wenn Sie möchten, diff-Datei außerhalb des git-repo sollten Sie ein diff-tool wie opendiff und vergleichen Sie die Datei aus dem repo mit der anderen Datei außerhalb des Repositorys.
Kann man nicht vergleichen, externen Dateien, da git nicht "denken" in Dateien.
git diff --no-index -- file1 file2