857 Stimmen

Anzeigen einer Datei in einem anderen Git-Zweig, ohne den Zweig zu wechseln

Ist es möglich, eine Datei in einem Git-Zweig zu öffnen, ohne diesen Zweig auszuchecken? Wie?

Im Wesentlichen möchte ich eine Datei in meinem System öffnen können. Github-Seiten Verzweigung ohne ständiges Wechseln der Zweige. Ich möchte sie nicht ändern, sondern nur ansehen.

1190voto

Scolytus Punkte 15159

Das sollte funktionieren:

git show branch:file

Donde Zweigstelle kann ein beliebiger ref sein (branch, tag, HEAD, ...) und archivo ist der vollständige Pfad der Datei. Um sie zu exportieren, können Sie Folgendes verwenden

git show branch:file > exported_file

Sie sollten sich auch Folgendes ansehen VonC die Antworten auf einige damit zusammenhängende Fragen:

UPDATE 2015-01-19:

Heutzutage können Sie relative Pfade mit git show a1b35:./file.txt .

90voto

Adam Dymitruk Punkte 116211
git show somebranch:path/to/your/file

Sie können auch mehrere Dateien erstellen und diese miteinander verknüpfen lassen:

git show branchA~10:fileA branchB^^:fileB

Sie müssen nicht den vollständigen Pfad zur Datei angeben, relative Pfade sind akzeptabel, z. B.:

git show branchA~10:../src/hello.c

Wenn Sie die Datei im lokalen Verzeichnis abrufen möchten (nur eine Datei zurückgeben), können Sie auschecken:

git checkout somebranch^^^ -- path/to/file

46voto

inger Punkte 18344

Ein einfacher, einsteigerfreundlicher Weg, eine Datei einzusehen: git gui browser <branch> mit dem Sie den Inhalt einer beliebigen Datei untersuchen können.

Sie finden es auch im Menü Datei von git gui . Die meisten anderen - fortgeschritteneren - GUI-Wrapper (Qgit, Egit usw.) bieten auch das Durchsuchen/Öffnen von Dateien an.

24voto

legoscia Punkte 38918

Wenn Sie Emacs verwenden, können Sie Folgendes eingeben C-x v ~ o M-x vc-revision-other-window um eine andere Revision der Datei zu sehen, die Sie gerade bearbeiten (Tags, Zweige und Hashes funktionieren alle).

13voto

akuhn Punkte 26637

Fügen Sie Folgendes zu Ihrem ~/.gitconfig archivo

[alias]
  cat = "!git show \"$1:$2\" #"

Und dann versuchen Sie dies

git cat BRANCHNAME FILEPATH

Ich persönlich bevorzuge separate Parameter ohne Doppelpunkt. Und warum? Diese Wahl spiegelt die Parameter des checkout Befehl, den ich ziemlich häufig verwende und den ich mir daher viel leichter merken kann als den bizarren, durch Doppelpunkte getrennten Parameter des show comando.

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