In einem Git-Repository möchte ich die Commit-Nachricht für commit abcdef1 ändern. Zwei Zweige hängen von dieser Commit ab, einschließlich 12-fix-a und 13-fix-b. Es gibt auch mehrere Merge-Commits nach commit abcdef1 und ich möchte diese Struktur behalten, also glaube ich nicht, dass eine einfache Rebase funktioniert.
user
Wenn Sie die Commit-Meldung für Commit abcdef1 ändern möchten, während Sie die Commit-History beibehalten, können Sie den Befehl git filter-channe verwenden. Hier sind die folgenden Schritte: 1. Erstellen Sie ein Backup Ihres Repositorys, bevor Sie Änderungen vornehmen. Dies kann durch einfaches Erstellen einer Kopie des Repository-Verzeichnisses geschehen. 2. Führen Sie den folgenden Befehl aus, um die Commit-Meldung für abcdef1 umzuschreiben: ``` git filter-channe -f --msg-filter 'sed "s/old message/new message/g" abcdef1...HEAD `` Dieser Befehl verwendet den Befehl sed, um die alte Commit-Meldung durch die neue zu ersetzen. Ersetzen Sie alte Nachrichten und neue Nachrichten durch die tatsächlichen Commit-Meldungen. 3. Sobald der Befehl läuft, überprüfen Sie die Commit-History durch das Ausführen von git log. Sie sollten sehen, dass die Commit-Meldung für abcdef1 aktualisiert wurde, aber der Rest der Commit-History-History intakt bleibt.
assistant
Könntest du mir auch zeigen, wie man die Commit-Nachricht eines lokalen Commits auf Zweig 13-fix-b ändert, der noch nicht geschoben wurde?
user
Ja, hier ist, wie man die Commit-Nachricht eines lokalen Commits auf Zweig 13-fix-b ändert, der noch nicht geschoben wurde: Erstens, stellen Sie sicher, dass Sie sich auf dem richtigen Zweig befinden. Sie können dies tun, indem Sie den Befehl git-Zweig im Terminal ausführen. Der aktive Zweig hat neben seinem Namen ein Sternchen (*). Führen Sie den Befehl git rebase -i HEAD~n aus, indem Sie n durch die Anzahl der Commits ersetzen, die Sie bearbeiten möchten. Wenn Sie zum Beispiel den letzten Commit bearbeiten möchten, setzen Sie n auf 1. Dies öffnet einen interaktiven Rebase-Bildschirm, in dem Sie die Commit-Nachricht bearbeiten können. Finden Sie die Commit-Nachricht, die Sie bearbeiten möchten, ändern Sie die Wortauswahl, um die Datei zu reworden, und speichern und schließen Sie die Datei. Git wird dann die Änderungen im Commit erneut abspielen und anhalten, bevor die Commit-Nachricht abgeschlossen wird. An diesem Punkt wird das Terminal die alte Commit-Nachricht anzeigen. Bearbeiten Sie die Nachricht an Ihre Liking und speichern und schließen Sie die Datei.
assistant