2012-05-23 9 views
97

Gibt es eine Möglichkeit zur Online-Bearbeitung der Commit-Nachricht in GitHub.com, nach der Einreichung?Bearbeiten der Git-Commit-Nachricht in GitHub

Von der Kommandozeile kann man

git commit --amend -m "New commit message" 

als richtig in another question vorgeschlagen tun.

Probieren git pull und dann git push hat funktioniert (ohne dass andere Commit in der Zwischenzeit gestört haben).

Aber kann es über die GitHub Website getan werden?

+0

Bitte sehen @ DanGreen-Leipciger der [Antwort] (https://stackoverflow.com/a/41513487/465053), obwohl es nicht die akzeptiert ist. – RBT

Antwort

68

Nein, das ist nicht direkt möglich. Der Hash für jedes Git-Commit wird ebenfalls basierend auf der Commit-Nachricht berechnet. Wenn Sie die Commit-Nachricht ändern, ändern Sie den Commit-Hash. Wenn Sie diesen Commit forcieren möchten, müssen Sie diesen Push erzwingen (git push -f). Aber wenn bereits jemand Ihr altes Commit übernommen und eine Arbeit begonnen hat, die auf diesem Commit basiert, müsste er seine Arbeit auf Ihr neues Commit zurücksetzen.

+0

könnte ich auch git ziehen und dann git push und es hat geklappt. Aber anscheinend gibt es keinen Online-Weg. – PNS

+0

Immer noch nicht möglich ab dem 5. April 2016 – bigT

+0

Und ich denke, es wird keine hohe Priorität haben, da Sie den Commit-Verlauf eines bereits veröffentlichten Zweiges ändern würden, was Sie nie tun sollten (außer wenn Sie sich sicher sind, dass niemand sonst hat diesen Zweig auf seiner lokalen Maschine). – dunni

29

Sie müssen git push -f unter der Annahme, dass niemand den anderen Commit zuvor gezogen hat. Vorsicht, du veränderst die Geschichte.

+0

Git Pull und dann Git Push funktioniert auch. Vielen Dank! – PNS

+2

sicher, aber wenn Sie "--amend" haben Sie bereits die Geschichte geändert. – three

+0

Das ist wahr. :-) – PNS

3

Nein, weil die Commit-Nachricht mit dem Commit-SHA/Hash verknüpft ist, und wenn wir sie ändern, wird auch der Commit-SHA geändert. Die Art, wie ich es benutzt habe, ist einen Kommentar zu diesem Commit zu erstellen. Ich kann nicht anders denken.

0

Ich hatte das gleiche Problem.

Sehen Sie in Ihrem GitHub nach einem bestimmten Zweig und Sie werden die Commit-ID des allerersten Commits in diesem Zweig kennenlernen. tun, um eine Fütterungsmaterial zu, dass:

git rebase -i

Editor öffnet sich. Führe einen Track deiner Commits von github UI aus und öffne den Editor und ändere die Nachrichten.

66

GitHub Anweisungen, dies zu tun:

  1. Auf der Kommandozeile, wechseln Sie zu dem Repository, enthält das Commit Sie wollen ändern.
  2. Geben Sie git commit --amend ein und drücken Sie die Eingabetaste.
  3. Bearbeiten Sie in Ihrem Texteditor die Commit-Nachricht und speichern Sie die Festschreibung.
  4. Verwenden Sie den Befehl git push --force example-branch, um den alten Commit zu erzwingen.

Quelle: https://help.github.com/articles/changing-a-commit-message/

+5

Sollte die richtige Antwort sein. – mcranston18

+0

Was bedeutet "zum Repo navigieren"? Für mich ist ein Commit in einem Zweig, zusammen mit anderen Commits. Und jetzt habe ich alles geschoben, damit mein Arbeitsbereich sauber ist. Wie komme ich dorthin, um die Nachricht zu ändern? Entschuldigung - ich bin ein Neuling mit diesem. – pgr

+0

Es bedeutet, den Ordner in einer * nix Umgebung zu gehen. I.e. Wenn Sie Repo "bar" nennen und es in einem Verzeichnis namens "foo" lebt, das auf der Wurzel Ihrer Maschine lebt, öffnen Sie ein Terminal und tippen Sie "cd/foo/bar". Sie sind jetzt bereit für Schritt 2 –

Verwandte Themen