2010-12-13 16 views
1

Manchmal beginne ich ein Projekt auf GitHub. Ich werde ungefähr 100 Commits sagen und jetzt bin ich bereit darüber zu twittern. Ich möchte eine saubere Commit-Historie haben. Also lösche ich das Projekt und starte ein neues Projekt. Manchmal würde ich alle vorherigen Commits zurücksetzen und dann einen Commit mit der endgültigen Ausgabe hinzufügen.Beginnen Sie mit einem sauberen Schiefer

Wie mache ich alle vorherigen Commits rückgängig und habe dann nur einen Commit mit der endgültigen Ausgabe.

Antwort

4

Eine Möglichkeit, dies zu tun, vorausgesetzt, dass niemand Ihr Repository bereits gegabelt hat (oder es Ihnen egal ist), ist git rebase -i und alle Commits zurück ein einziges Commit.

Oder Sie könnten einen Export tun: Do a "git export" (like "svn export")?

Oder Sie könnten rm -rf .git und dann git init eine neue Repo mit den gleichen Dateien zu erhalten.

5

100 commits ist großartig, mit zu beginnen! Es gibt keinen Grund, diese Geschichte wegzuwerfen und mit einer "sauberen" Commit-Geschichte anzufangen. Dein Commit-Verlauf wird niemals sauber bleiben, daher hat es keinen Sinn, ihn jetzt zu säubern.

Der einzige Grund, zurückzugehen und alte Commits neu zu schreiben, ist, wenn Sie versehentlich ein Passwort oder ein anderes Geheimnis in Ihren Codeverlauf geschrieben haben. Ansonsten spiegelt Ihr Projekt-Commit-Protokoll, was eigentlich passiert ist, was eine gute Sache ist.

+0

Einverstanden. @Nadal, behalte die Geschichte, die du bereits hast. Bereinigen Sie alle vertraulichen Bits, wenn Sie möchten, aber lassen Sie den Rest intakt. Weder der Code noch seine Geschichte werden jemals perfekt sein. –

+0

+1, verfügbare Geschichte ist gut! Sie sollten keine Angst davor haben, die Fehler zu zeigen, die Sie gemacht und korrigiert haben :) – Gauthier

Verwandte Themen