Ich habe meine README.md mehrmals bearbeitet, weil ich die Vorschauschaltfläche nicht gesehen habe. Jetzt ist mein Commit-Verlauf voller nutzloser Commits.
Kann ich einige davon entfernen oder zumindest ausblenden?
Geriwald
Ich habe meine README.md mehrmals bearbeitet, weil ich die Vorschauschaltfläche nicht gesehen habe. Jetzt ist mein Commit-Verlauf voller nutzloser Commits.
Kann ich einige davon entfernen oder zumindest ausblenden?
jessehouwing
Das Umschreiben des Verlaufs kann Ihr Versionsverwaltungssystem in einen ziemlich durcheinandergebrachten Zustand versetzen. Stellen Sie sicher, dass Sie eine gute Sicherung Ihrer Quellen haben, falls etwas schief geht.
Abhängig von Ihrem Team-Projekt-Setup wird die Readme.md in einem Git-Repository gespeichert, in dem Sie den Verlauf absolut neu schreiben und die gequetschten Commits zurück an TFS schieben können, wodurch es im Wesentlichen die Zwischendaten vergisst. Dies geschieht mit git rebase
und kann weder über die Visual Studio Online-Website noch über die Visual Studio-Tools für Git ausgeführt werden. Sie müssen dies über die Befehlszeile tun.
Der gesamte Prozess ist im Git-SCM-Wiki sehr gut erklärt. Sie müssen die folgenden Schritte ausführen:
git rebase -i HEAD~6
(6 ist die Anzahl der Commits zum Zurückspulen)Squash
zu führen Sie die Commits zusammengit push --force origin master
um das Umschreiben des Verlaufs auf der Fernbedienung zu erzwingenNotiz: Dies ändert den Hash des Commit und jedes nachfolgenden Commit. Nachdem Sie dies getan haben, warnen Sie entweder alle anderen Mitwirkenden vor einer erneuten Synchronisierung oder vergewissern Sie sich, dass keine anderen an dem Repository gearbeitet haben, nachdem Sie diese Commits vorgenommen haben.
Wenn Ihr Team-Projekt mit TFVC konfiguriert ist, ist der Prozess etwas anders.
tf destroy $/Teamproject/readme.md
, Bei Bedarf können Sie die verwenden /keephistory /stopat:C12345
Option zum Vernichten der Daten in bestimmten Änderungssätzen am Ende des Verlaufs einer Datei. tf add $/teamproject/reqadme.md
gefolgt von tf checkin
. Wenn Sie den Verlauf beibehalten haben, wird TFVC ihn erneut verbinden. Wenn Sie den Verlauf vollständig zerstört haben, fügt TFVC einfach eine neue Datei hinzu.Danke, das ist perfekt.
– geriwald
31. Dezember ’14 um 14:50 Uhr
.
Ich hoffe ehrlich gesagt nicht. Die Möglichkeit, den Verlauf zu ändern, klingt nach einer ziemlich schlechten Funktion für ein Quellcodeverwaltungssystem.
– David
31. Dezember 14 um 13:57 Uhr
Sicher, aber ich bin ein ordentlicher Freak. Trotzdem danke für deinen Einblick.
– geriwald
31. Dezember 14 um 14:03 Uhr
@David, es ist eigentlich eine praktische Funktion, insbesondere für ein verteiltes System.
– Abizern
31. Dezember 14 um 14:04 Uhr
Ich stimme zwar zu, dass das Umschreiben des Verlaufs die Leute zu Tode erschrecken kann, aber es ist eine gut unterstützte Funktion sowohl von TFVC als auch von Git. Obwohl Git viel umfangreichere Umschreibungen des Verlaufs erlaubt als TFVC.
– Jessehouwing
31. Dezember 14 um 14:28 Uhr
@David, es wird davon abgeraten, in Git umzuschreiben geteilt Commits, aber es gibt überhaupt kein Problem damit, Ihre eigenen privaten Commits lokal umzuschreiben, bevor Sie sie veröffentlichen. Das ist unglaublich befreiend, da es Entwicklern ermöglicht, so oft sie wollen zu committen, dann die Dinge zu bereinigen (genau wie das OP es tun möchte), bevor sie ordentliche Commits an den Rest des Teams weitergeben. Beachten Sie, dass „Verlauf umschreiben“ zumindest bei Git etwas irreführend ist. In Wirklichkeit erschaffen Sie Neu Commits, die eine andere Geschichte widerspiegeln, und teilen Sie diese anstelle der Originale.
– Chris
31. Dezember 14 um 14:48 Uhr