2016-09-21 2 views
2

Angenommen, ich habe zwei Remote-Zweigstellen, Master und Developer, und mein lokales Repository befindet sich im Ordner D:/Git_Project.Ist es möglich, alle lokalen Zweige gleichzeitig im Windows Explorer anzuzeigen?

Auf Git Bash gehe ich in das Repository-Verzeichnis und wählen Master-Zweig, ich mache einen Ordner und eine Datei darin, Commit Änderungen, schieben Sie es auf Remote-Master-Zweig. Jetzt wechsle ich zum Entwicklerzweig, und wenn ich jetzt mit Windows Explorer zu D:/Git_Project gehe, kann ich die Ordner/Dateien vom Master-Zweig nicht sehen.

Nun, ich weiß, dass git speichert diese Änderungen in der .git-Ordner, und lädt/speichert sie, wenn wir verzweigen. Aber ist es möglich, dass immer beide Zweige mit jeweils einem eigenen Ordner angezeigt werden? Grundsätzlich einen "Master" und "Developer" Ordner unter D:/Git_Project.

Ich weiß, ich könnte "schummeln" und machen Sie alles in der gleichen Branche und erstellen Sie diese Ordner selbst, aber ich würde verlieren die git Zweig Funktionen, wenn ich dies tat.

Der Grund, warum ich dies möchte ist, weil manchmal bei der Arbeit an einer Datei im Entwickler oder einem anderen Zweig, ich möchte eine bestimmte Datei aus einer anderen Branche zu überprüfen, und es ist ziemlich nervig, immer nur Zweig zu wechseln um eine Datei lokal zu öffnen.

Vielen Dank.

Antwort

2

Statt Ihre Repo direkt unter D des Vergebens:/Git_Project, können Sie es klonen unter

D:/Git_Project/master 

Dann mit git worktree (with Git 2.5+), können Sie die Entwicklung Zweig des gleichen Repo-Kasse in

git worktree add ../develop develop 
D:/Git_Project/develop 

auf diese Weise, die Sie nicht zweimal klonen müssen (auch Shared-Klone sind hier nicht erforderlich)

+0

Ooh, nett - ich nicht über 'worktree' wusste, du hast mich b Essen. –

+0

@DavidHeyman Ja, ich dokumentiere worktree seit Mai 2015: http://StackOverflow.com/a/30185564/6309 – VonC

+0

Das funktioniert perfekt. @David Heymans Antwort ist intuitiver, aber deine scheint auf lange Sicht eine bessere Übung zu sein. Vielen Dank! – Danyjex

1

Die einfachste Lösung wäre, das Repository lokal zu klonen - machen Sie zusätzliche Verzeichnisse, um die "Anzeige von Kopien" jedes Zweigs zu behalten, und prüfen Sie nie verschiedene Zweige für diese Kopien. git clone --local --shared /path/to/original /intended/path/to/copy, dann git checkout master im neuen. Spülen und wiederholen Sie so viele zusätzliche Kopien, wie Sie möchten. Sie müssen nicht nur mit einer einzigen Kopie arbeiten, um Änderungen vorzunehmen, aber es würde wahrscheinlich von einem organisatorischen Standpunkt aus helfen.

Da es geteilt wird, werden sie alle tatsächlichen Commit-Datensätze teilen - das gibt Ihnen keine Sicherung Ihres Repo, nur ein zweiter Ort, um es zu betrachten, also löschen Sie nicht einen Zweig auf einem Denken dass du es einfach von dem anderen zurückbekommst.

Siehe auch: die Dokumentation für git clone.

Verwandte Themen