Gibt es eine Möglichkeit, Git-Befehle gegen ein Repository auszuführen, ohne in diesem Repository zu sein?
Zum Beispiel etwas in der Art: git /home/repo log
?
Bitte sagen Sie mir nicht, ich soll cd
dazu. Ich tue dies über eine exec
anrufen.
Gibt es eine Möglichkeit, Git-Befehle gegen ein Repository auszuführen, ohne in diesem Repository zu sein?
Zum Beispiel etwas in der Art: git /home/repo log
?
Bitte sagen Sie mir nicht, ich soll cd
dazu. Ich tue dies über eine exec
anrufen.
Dies ist ähnlich wie die Antwort von @max. Leider hat --git-dir nicht das bewirkt, was ich brauchte. edit Im Nachhinein schlug eine andere [frühere] Antwort, die ich nicht gelesen hatte, die Verwendung von --work-tree
. Ich bin mir nicht sicher, ob die Verwendung von Umgebungen oder Flaggen angemessener ist, also lasse ich meine Antwort stehen, falls jemand damit etwas anfangen kann, aber ich werde jetzt auf die Verwendung von --work-tree
/ --git-dir
.
Es gibt zwei Repos, eines innerhalb des anderen, aber kein Submodul; das äußere Repo ignoriert es:
tools (outer repo)
gcc/4.9.2 (inner repo)
Was ich wollte, war die Ausgabe von git rev-parse --show-prefix
relativ zum äußeren Repo. Hier ist, was ich kam mit (Bash-Syntax; Split über Zeilen für die Lesbarkeit):
prefix_dir=$(cd ..; git rev-parse --show-toplevel)
prefix_dir=$(GIT_WORK_TREE=${prefix_dir} git rev-parse --show-prefix)
Bei der Ausführung innerhalb von 4.9.2 wird die Zeichenkette gcc/4.9.2
.
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.