Wie kann ich ein entferntes und lokales Git-Repository zurücksetzen, um alle Commits zu entfernen?
Ich möchte mit dem aktuellen Head als anfänglichem Commit neu beginnen.
Wie kann ich ein entferntes und lokales Git-Repository zurücksetzen, um alle Commits zu entfernen?
Ich möchte mit dem aktuellen Head als anfänglichem Commit neu beginnen.
Antworten:
Vollständig zurückgesetzt?
Löschen Sie das .git
Verzeichnis lokal.
Erstellen Sie das Git-Repostory neu:
$ cd (project-directory)
$ git init
$ (add some files)
$ git add .
$ git commit -m 'Initial commit'
Push auf Remote-Server, überschreiben. Denken Sie daran, dass Sie alle anderen durcheinander bringen werden. Sie sollten besser der einzige Kunde sein.
$ git remote add origin <url>
$ git push --force --set-upstream origin master
--allow-empty
Flag am Ende von hinzufügen git commit -m 'Initial commit'
.
git push --force --set-upstream origin master
aber der Rest funktionierte wie beschrieben
Befolgen Sie zunächst die Anweisungen in dieser Frage, um alles zu einem einzigen Commit zusammenzufassen. Drücken Sie dann zwangsweise auf die Fernbedienung:
$ git push origin +master
Und optional alle anderen Zweige sowohl lokal als auch remote löschen:
$ git push origin :<branch>
$ git branch -d <branch>
Wäre ich du, würde ich so etwas tun:
Bevor Sie etwas unternehmen, bewahren Sie bitte eine Kopie auf (besser sicher als leid).
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
Danach können Sie andere Zweige löschen.
Ergebnis: Sie werden eine Filiale mit nur 2 Commits haben.
Verwenden
git log --oneline
Sie diese Option, um Ihre Commits minimalistisch anzuzeigen und SHA-1 für Commits zu finden!