Git: Zwei initiale Commits

9

Ich habe ein Projekt, das kürzlich mit der Versionskontrolle begonnen hat.
Es gibt einen älteren Versuch bei diesem Projekt mit völlig anderem Code, den ich der Versionskontrolle für die Nachwelt hinzufügen möchte, der aber weder ein Vorfahr noch ein Nachkomme des ursprünglichen Commits des aktuellen master -Verzweigs ist.

Ich möchte einen neuen parallelen Zweig dafür ohne vorherige Geschichte erstellen (dh mehrere "initiale Commits" haben. Ist dies mit Git möglich, ohne ein zweites Repository erstellen zu müssen? Der Commit-Baum würde etwa so aussehen:

%Vor%

So kann ich einfach git checkout old verwenden, um auf den Code zuzugreifen. Es muss nicht nach 90 Tagen vom Garbage Collector bereinigt werden und kann optional markiert werden.

    
Nicholas Shanks 11.09.2013, 14:18
quelle

3 Antworten

12

git checkout hat eine Option für genau diesen Anwendungsfall: --orphan .

Aus dem Git-Handbuch:

  

--orphan <new_branch>

     

Erstellen Sie einen neuen verwaisten Zweig mit dem Namen <new_branch> , der von <start_point> gestartet wurde, und wechseln Sie zu diesem Zweig. Das erste Commit, das in diesem neuen Zweig vorgenommen wird, hat keine Eltern und es wird die Wurzel eines neuen Verlaufs sein, der völlig von allen anderen Zweigen und Commits getrennt ist.

Auch der Mann sagt ausdrücklich:

  

Wenn Sie einen getrennten Verlauf starten möchten, der eine Reihe von Pfaden aufzeichnet, die sich völlig von denen unterscheiden, dann sollten Sie den Index und den Arbeitsbaum direkt nach dem Erstellen des verwaisten Zweigs löschen, indem Sie " git rm -rf . " ausführen die oberste Ebene des Arbeitsbaums.

    
Marcin Łoś 11.09.2013, 14:22
quelle
5

Sie können nicht nur die Methode checkout --orphan verwenden, sondern auch ein separates Repository in Ihrer anderen Codebasis erstellen, das initiale Commit durchführen und dann zum anderen Repository (oder aus dem anderen Repository ziehen)

%Vor%

Danach können Sie das Repository wieder entfernen ( rm -rf old-code/.git ), wenn Sie es nicht brauchen (aber es sollte nicht schaden)

    
knittl 11.09.2013 14:27
quelle
3

Sie müssen einen verwaisten Zweig erstellen:

%Vor%     
flx 11.09.2013 14:23
quelle

Tags und Links