Git Commit Historie kürzen

Git Commit Historie kürzen

Aufgabenstellung: In einem Git Repository sollen nur die neuesten n Commits erhalten bleiben. Die älteren Commits sollen zusammengefasst werden.

Annahme

SHA1 Commit ID an dem die Historie abgeschnitten werden soll ist abcdef12

Lösung

  • Neuen Branch an zukünftigem Wurzelcommit erstellen: git checkout --orphan new_root abcdef12
  • Alte Commits suqashen: git commit -m "Truncate history"
  • Neuere Commits auf neuem Wurzelcommit rebasen: git rebase --onto new_root abcdef12 master

Credits

Photo by Luke Chesser on Unsplash

Quelle: https://passingcuriosity.com/2017/truncating-git-history/