Gibt es in git eine einfache Möglichkeit, einen nicht verwandten Zweig in ein Repository einzuführen?

Beim helfen, ein Freund mit dem git problem, heute hatte ich die Einführung eines
Zweig, gebraucht zu werden, völlig getrennt vom master Zweig.
Die Inhalte dieser Zweig hatte wirklich einen verschiedenen Ursprung von dem, was
entwickelt worden auf der master Zweig, aber Sie würden
eingebunden in die master Zweig zu einem späteren Zeitpunkt.

Ich erinnerte mich, aus der Lektüre John Wiegley ist Git von unten
bis
wie
die Zweige sind im wesentlichen ein label auf ein commit, der folgt einem bestimmten
Konvention und wie eine übergabe an einen Baum gebunden von Dateien und Optional
zu Eltern-commits. Wir gingen zu erstellen, eine elternlose sich verpflichten, die
vorhandene repository mit git ' s Sanitär:

Damit wir losgeworden aller Dateien im index ...

$ git rm -rf .

... extrahiert Dateien und Verzeichnisse aus einem tarball, hat diese die
index ...

$ git add .

... und erstellt ein tree-Objekt ...

$ git write-tree

(git-write-tree erzählte uns die SHA1-Prüfsumme der erstellte Baum-Objekt.)

Dann verpflichteten Wir den Baum, ohne Angabe von Eltern-commits...

$ echo "Imported project foo" | git commit-tree $TREE

(git-commit-tree erzählte uns die SHA1-Prüfsumme der erstellten commit-Objekt.)

... und erstellt eine neue Niederlassung, die Punkte auf unsere neu erstellte
Begehen.

$ git update-ref refs/heads/other-branch $COMMIT

Schließlich kehrten wir zu der master Zweig, um die Arbeit dort weiter.

$ git checkout -f master

Scheint dies funktioniert zu haben wie geplant. Aber dies ist eindeutig nicht die Art
von der Vorgehensweise würde ich empfehlen Sie jemandem, der gerade erst begonnen
Verwendung von git, um es milde auszudrücken. Gibt es einen einfacheren Weg der Erstellung einer
neue Niederlassung, die ist völlig unabhängig von allem was passiert
im repository so weit?

InformationsquelleAutor der Frage hillu | 2009-09-05

Schreibe einen Kommentar