Ich möchte 7/8 Commits von etwa zwei Jahren aus meinem GitHub-Repository entfernen. Nur 2/3 der Commits berühren irgendeinen Code, der Rest nur die Konfigurationsdateien hinzufügen und entfernen.Der beste Weg, um Commits aus dem Verlauf zu entfernen?
Einige frühere Entwickler hochgeladen und entfernt buchstäblich> 650 doppelte Konfigurationsdateien, und es ist unsere github Stat-Seite zu vermasseln. Stat Graph
Wir haben versucht, sie mit Git Rebase -i zu entfernen, aber es dauerte 6 Stunden und die meisten Teile des Codes waren weg.
Wie entfernen wir diese alten Commits, ohne andere Commit-History zu verpfuschen? Wir codieren derzeit den gesamten Code im Repository. Es ist also keine große Sache, wenn die Änderungen aus diesen einzelnen Commits nicht beibehalten werden, aber wir möchten außerdem alle Statistiken, die mit dem alten Code einhergingen, behalten .
Können Sie das „dauerte 6 Stunden und die meisten Teile des Codes klären waren Weg"? Wie hast du 'git rebase' konkret benutzt? –
Commits "* kann nicht *" aus dem * shared * Verlauf eines Repo entfernt werden, der geklont wurde (oder vielmehr, wenn die Commits oder Downstream-Commits gezogen wurden), weil andere (und * abhängig von *) diese Commits an haben Mache die DAG. Die extreme Lösung besteht darin, ein neues Repository zu erstellen und sauber zu importieren, aber dies ist eine extreme Maßnahme und hat Downstream-Auswirkungen, da es sich um ein * neues * Repository mit demselben Namen handelt. – user2864740
Wir benutzten 'git rebase -i' und löschten die Commits aus dem Editor, der auftauchte. Wir haben rund 5000 "git rebase --skip" -Befehle kopiert und eingefügt. Es gibt keine Möglichkeit, 5000 Commits manuell zu beheben, und es würde nicht weitergehen, ohne dass wir etwas unternehmen. @ user2864740 Schau dir den Screenshot an, den ich verlinkt habe. Sie können nichts von diesem Graphen unterscheiden. – Kneesnap