2016-06-06 3 views
0

Ich schreibe meine Diplomarbeit in Mathematik und bin dabei, meine erste Arbeit zu veröffentlichen. Bisher habe ich git für die Versionskontrolle verwendet. Zu diesem Zeitpunkt muss der Text für die Arbeit und die Arbeit auseinander gehen: Die Arbeit wird sehr viel detaillierter sein als die Arbeit, die ziemlich knapp sein muss.Langfristige Zweigalternative mit Git?

Wie verwalte ich diese Situation mit Git? Ich bin mir nicht ganz sicher, welche Git Option die beste für mich ist. Ich dachte daran, einen eigenen Zweig für das Papier zu schaffen und dann Rosinen zu pflücken, aber anscheinend sollten Zweige nicht dauerhaft sein (ist das wahr?). Idealerweise möchte ich eine Lösung, bei der ich so wenig wie möglich manuell duplizieren muss, während ich beide Projekte gleichzeitig schreibe.

+1

Haben Sie einen Link zu "Verzweigungen sollen nicht permanent sein"? Ich habe diesen Rat vorher nicht gehört. Wie möchten Sie die Versionskontrolle in Ihrem weiteren Schreiben verwenden? versuchst du es so zu machen, dass du bestimmte Änderungen an beiden Versionen und andere Änderungen an dem einen oder dem anderen vornehmen kannst? –

+2

Ich glaube, dass Ihre Vorgehensweise falsch ist, dies ist kein Problem mit git zu lösen, aber mit einer fundierten Dokumentstruktur in Ihren Arbeitsdateien. Sie müssen zwei Hauptdokumente, eines für das Papier und das andere für die These herausfinden. Dann fügen Sie sorgfältig jedes wiederverwendbare Stück in die eine oder andere ein. Git wird die Geschichte Ihrer Arbeit widerspiegeln und möglicherweise Zweige für verschiedene Richtungen Ihrer Arbeit haben, aber nicht für die unterschiedliche Inhaltsstruktur. –

+0

@ JeffBowman: Nein, ich habe keine Verbindung zu dieser Aussage, nur Mundpropaganda eines Kollegen. Sie sind genau richtig: Ich möchte einige Commits machen, die beide Versionen gleichzeitig ändern (z. B. Tippfehler) und einige Commits, die nur eine der beiden Versionen ändern. – Jan

Antwort

2

Zweige können so dauerhaft sein, wie Sie möchten. Sie können sie wie Dateien erstellen und zerstören.

Wenn Ihre Zweige (oder genauer gesagt die Dateien, die die Patches in einer Cherry-Auswahl enthalten) zu stark divergieren, kann Cherry Pick die Patches nicht finden, um die Änderungen vorzunehmen.

Wenn ein Projekt eine Obermenge der anderen ist, können Sie 'subtree' verwenden (siehe 'git help subtree'). Dadurch können Änderungen im Teilprojekt trivial einfach in das Superprojekt übernommen werden. (siehe auch den älteren Befehl 'Submodul')