EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

git-worktree – Online in der Cloud

Führen Sie git-worktree im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl git-worktree, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-worktree – Mehrere Arbeitsbäume verwalten

ZUSAMMENFASSUNG


git Arbeitsbaum hinzufügen [-f] [--detach] [-b ] [ ]
git Arbeitsbaum Pflaume [-n] [-v] [--expire ]
git Arbeitsbaum Liste [--Porzellan]

BESCHREIBUNG


Verwalten Sie mehrere Arbeitsbäume, die mit demselben Repository verbunden sind.

Ein Git-Repository kann mehrere Arbeitsbäume unterstützen, sodass Sie mehr als nur auschecken können
jeweils eine Filiale. Mit git worktree add wird ein neuer Arbeitsbaum verknüpft
Repository. Dieser neue Arbeitsbaum wird im Gegensatz zu „verknüpfter Arbeitsbaum“ genannt
„Hauptarbeitsbaum“, erstellt durch „git init“ oder „git clone“. Ein Repository hat ein Haupt-Repository
Arbeitsbaum (wenn es sich nicht um ein bloßes Repository handelt) und null oder mehr verknüpfte Arbeitsbäume.

Wenn Sie mit einem verknüpften Arbeitsbaum fertig sind, können Sie ihn einfach löschen. Der Arbeitsbaum
Verwaltungsdateien im Repository (siehe „DETAILS“ unten) werden irgendwann entfernt
automatisch (siehe gc.worktreePruneExpire in git-config(1)), oder Sie können git worktree ausführen
Bereinigen Sie den Hauptbaum oder einen verknüpften Arbeitsbaum, um alle veralteten Verwaltungsdateien zu bereinigen.

Wenn Sie einen verknüpften Arbeitsbaum verschieben, müssen Sie die Verwaltungsdateien manuell aktualisieren
dass sie nicht automatisch beschnitten werden. Weitere Informationen finden Sie im Abschnitt „DETAILS“.

Wenn ein verknüpfter Arbeitsbaum auf einem tragbaren Gerät oder einer Netzwerkfreigabe gespeichert ist, die nicht gespeichert ist
immer gemountet ist, können Sie verhindern, dass seine Verwaltungsdateien bereinigt werden, indem Sie eine erstellen
Datei benannt verschlossen neben den anderen Verwaltungsdateien, optional mit einer einfachen Datei
Textgrund, dass das Beschneiden unterdrückt werden sollte. Weitere Informationen finden Sie im Abschnitt „DETAILS“.

BEFEHLE


hinzufügen [ ]
Erstellen und Kasse hinein. Das neue Arbeitsverzeichnis wird verlinkt
das aktuelle Repository und teilt alles mit Ausnahme der arbeitsverzeichnisspezifischen Dateien
wie HEAD, Index usw.

Wenn wird weggelassen und weder -b noch -B noch --lated verwendet, also als a
Der Einfachheit halber wird automatisch ein neuer Zweig basierend auf HEAD erstellt, als ob -b $(basename
) angegeben wurde.

Pflaume
Bereinigen Sie die Informationen zum Arbeitsbaum in $GIT_DIR/worktrees.

Liste
Listen Sie Details zu jedem Arbeitsbaum auf. Der Hauptarbeitsbaum wird zuerst aufgelistet, gefolgt von jedem einzelnen
die verlinkten Arbeitsbäume. Die Ausgabedetails umfassen, wenn der Arbeitsbaum leer ist, die Revision
aktuell ausgecheckt, und der aktuell ausgecheckte Zweig (bzw freistehend KOPF if
keiner).

OPTIONAL


-f, --force
Standardmäßig weigert sich add, einen neuen Arbeitsbaum zu erstellen, wenn ist bereits geprüft
draußen an einem anderen Arbeitsbaum. Diese Option setzt diese Schutzmaßnahme außer Kraft.

-B , -B
Erstellen Sie mit Hinzufügen einen neuen Zweig mit dem Namen beginnt um , und check out
in den neuen Arbeitsbaum. Wenn wird weggelassen, der Standardwert ist HEAD.
Standardmäßig weigert sich -b, einen neuen Zweig zu erstellen, wenn dieser bereits vorhanden ist. -B überschreibt dies
sichern, zurücksetzen Zu .

--ablösen
Trennen Sie mit „Hinzufügen“ HEAD im neuen Arbeitsbaum. Siehe „ABGEHÄNGTER KOPF“ in Git-Checkout(1).

-n, --Trockenlauf
Entfernen Sie beim Beschneiden nichts; Melden Sie einfach, was entfernt werden würde.

--Porzellan
Mit Liste, Ausgabe in einem einfach zu analysierenden Format für Skripte. Dieses Format bleibt bestehen
Stabil über alle Git-Versionen hinweg und unabhängig von der Benutzerkonfiguration. Siehe unten für
Details.

-v, --verbose
Melden Sie mit Prune alle Entfernungen.

--erlöschen
Beim Beschneiden verfallen nur unbenutzte Bäume, die älter sind als .

DETAILS


Jeder verknüpfte Arbeitsbaum verfügt über ein privates Unterverzeichnis im Repository
Verzeichnis $GIT_DIR/worktrees. Der Name des privaten Unterverzeichnisses ist normalerweise der Basisname von
Der Pfad des verknüpften Arbeitsbaums, möglicherweise mit angehängter Nummer, um ihn eindeutig zu machen. Für
Beispiel: Wenn $GIT_DIR=/path/main/.git der Befehl git worktree add /path/other/test-next ist
next erstellt den verknüpften Arbeitsbaum in /path/other/test-next und erstellt außerdem einen
$GIT_DIR/worktrees/test-next-Verzeichnis (oder $GIT_DIR/worktrees/test-next1, wenn test-next ist
bereits vergeben).

Innerhalb eines verknüpften Arbeitsbaums ist $GIT_DIR so eingestellt, dass es auf dieses private Verzeichnis verweist (z. B
/path/main/.git/worktrees/test-next im Beispiel) und $GIT_COMMON_DIR ist auf point gesetzt
zurück zum $GIT_DIR des Hauptarbeitsbaums (z. B. /path/main/.git). Diese Einstellungen werden vorgenommen
in einer .git-Datei im obersten Verzeichnis des verknüpften Arbeitsbaums.

Die Pfadauflösung über git rev-parse --git-path verwendet entweder $GIT_DIR oder $GIT_COMMON_DIR
je nach Weg. Zum Beispiel im verknüpften Arbeitsbaum git rev-parse --git-path
HEAD gibt /path/main/.git/worktrees/test-next/HEAD zurück (nicht /path/other/test-next/.git/HEAD
oder /path/main/.git/HEAD), während git rev-parse --git-path refs/heads/master verwendet
$GIT_COMMON_DIR und gibt /path/main/.git/refs/heads/master zurück, da Refs gemeinsam genutzt werden
über alle Arbeitsbäume hinweg.

See Gitrepository-Layout(5) für weitere Informationen. Als Faustregel gilt: Machen Sie keine
Annahme darüber, ob ein Pfad zu $GIT_DIR oder $GIT_COMMON_DIR gehört, wenn Sie dies benötigen
Greifen Sie direkt auf etwas in $GIT_DIR zu. Verwenden Sie git rev-parse --git-path, um das Finale zu erhalten
Pfad.

Wenn Sie einen verknüpften Arbeitsbaum verschieben, müssen Sie ihn aktualisieren gitdir Datei im Eintrag
Verzeichnis. Wenn beispielsweise ein verknüpfter Arbeitsbaum nach /newpath/test-next verschoben wird und dessen
Die .git-Datei zeigt auf /path/main/.git/worktrees/test-next, dann aktualisieren
/path/main/.git/worktrees/test-next/gitdir, um stattdessen auf /newpath/test-next zu verweisen.

Um zu verhindern, dass ein $GIT_DIR/worktrees-Eintrag bereinigt wird (was in manchen Fällen nützlich sein kann).
Situationen, z. B. wenn der Arbeitsbaum des Eintrags auf einem tragbaren Gerät gespeichert ist), fügen Sie a hinzu
Datei benannt verschlossen zum Verzeichnis des Eintrags. Die Datei enthält den Grund im Klartext.
Wenn beispielsweise die .git-Datei eines verknüpften Arbeitsbaums auf verweist
/path/main/.git/worktrees/test-next dann eine Datei mit dem Namen
/path/main/.git/worktrees/test-next/locked verhindert, dass der test-next-Eintrag erstellt wird
beschnitten. Sehen Gitrepository-Layout(5) für Details.

LISTE AUSGABE FORMAT


Der Befehl „worktree list“ verfügt über zwei Ausgabeformate. Das Standardformat zeigt die Details an
eine einzelne Zeile mit Spalten. Zum Beispiel:

S Git Worktree-Liste
/path/to/bare-source (bare)
/path/to/linked-worktree abcd1234 [master]
/path/to/other-linked-worktree 1234abc (freigestellter HEAD)

Porzellan Format
Das Porzellanformat hat eine Zeile pro Attribut. Attribute werden mit einer Beschriftung und aufgelistet
Wert durch ein einzelnes Leerzeichen getrennt. Boolesche Attribute (wie blank und freistehend) sind aufgeführt
nur als Bezeichnung und sind nur dann vorhanden, wenn der Wert wahr ist. Eine leere Zeile
zeigt das Ende eines Arbeitsbaums an. Zum Beispiel:

S git worktree list --porcelain
Arbeitsbaum /Pfad/zu/Bare-Source
blank

Arbeitsbaum /Pfad/zu/linked-Arbeitsbaum
HEAD abcd1234abcd1234abcd1234abcd1234abcd1234
Zweigreferenten/Köpfe/Master

Arbeitsbaum /Pfad/zum/anderen-verknüpften-Arbeitsbaum
HEAD 1234abc1234abc1234abc1234abc1234abc1234a
freistehend

Beispiele:


Sie befinden sich mitten in einer Refactoring-Sitzung und Ihr Chef kommt und fordert Sie auf
sofort etwas reparieren. Normalerweise verwenden Sie Git-Stash(1) um Ihre Änderungen zu speichern
Vorübergehend befindet sich Ihr Arbeitsbaum jedoch in einem solchen Zustand der Unordnung (mit neuen, verschobenen,
entfernte Dateien und andere herumliegende Kleinigkeiten, die Sie nicht riskieren möchten
irgendetwas davon stören. Stattdessen erstellen Sie einen temporär verknüpften Arbeitsbaum, um das zu erstellen
Notfall-Fix, entfernen Sie es, wenn Sie fertig sind, und setzen Sie dann Ihre frühere Refactoring-Sitzung fort.

$ git worktree add -b Emergency-Fix ​​../temp Master
$ pushd ../temp
# ... hack hack hack ...
$ git commit -a -m 'Notlösung für Chef'
$ popd
$ rm -rf ../temp
$ git worktree prune

Verwenden Sie git-worktree online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad