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 .gitVerzeichnis 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-emptyFlag am Ende von hinzufügen git commit -m 'Initial commit'.
git push --force --set-upstream origin masteraber 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 --onelineSie diese Option, um Ihre Commits minimalistisch anzuzeigen und SHA-1 für Commits zu finden!