2012-05-23 25 views
97

Esiste un modo per modificare online il messaggio di commit in GitHub.com, dopo l'invio?Modifica del messaggio di commit Git in GitHub

Dalla riga di comando, si può fare

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

come suggerito correttamente in another question.

Provare git pull e quindi git push ha funzionato (senza che nessun altro commit abbia interferito nel frattempo).

Ma è possibile farlo tramite il sito Web GitHub?

+0

Si prega di vedere @ [risposta] di DanGreen-Leipciger (https://stackoverflow.com/a/41513487/465053) anche se non è quella accettata. – RBT

risposta

68

No, questo non è direttamente possibile. Anche l'hash per ogni commit Git viene calcolato in base al messaggio di commit. Quando si modifica il messaggio di commit, si modifica l'hash del commit. Se vuoi spingere quel commit, devi forzare quel push (git push -f). Ma se già qualcuno ha tirato il vecchio commit e ha iniziato un lavoro basato su quel commit, dovrebbe rebase il suo lavoro sul tuo nuovo commit.

+0

Potrei anche fare git pull e poi git push e ha funzionato. Ma a quanto pare non esiste un modo online. – PNS

+0

Ancora non possibile a partire dal 5 aprile 2016 – bigT

+0

E immagino che non avrà priorità alta, dato che cambieresti la cronologia dei commit di un ramo già pubblicato, cosa che non dovresti mai fare (eccetto se sei sicuro al 200%, che nessun altro ha questo ramo sulla sua macchina locale). – dunni

29

È necessario git push -f supponendo che nessuno abbia già eseguito il commit dell'altro. Attenzione, stai cambiando la storia.

+0

Git pull e poi git push ha funzionato pure. Grazie! – PNS

+2

sicuro, ma se si '--amend' hai già cambiato la cronologia. – three

+0

Questo è vero. :-) – PNS

3

No, perché il messaggio di commit è correlato con il commit SHA/hash, e se lo cambiamo viene anche modificato il commit SHA. Il modo in cui ho usato è creare un commento su quel commit. Non posso pensare dall'altra parte

0

Mi trovavo di fronte allo stesso problema.

Vedi nel tuo github per un ramo particolare e verrai a sapere l'id di commit del primo commit in quel ramo. fare un rebase a che:

git rebase -i editore

aprirà. Fai una traccia dei tuoi commit dall'interfaccia utente di github e apri l'editor e cambia i messaggi.

66

istruzioni del GitHub per fare questo:

  1. Sulla riga di comando, accedere alla repository che contiene il commit che si desidera modificare.
  2. Digita git commit --amend e premi Invio.
  3. Nell'editor di testo, modificare il messaggio di commit e salvare il commit.
  4. Utilizzare il comando git push --force example-branch per forzare il push sul vecchio commit.

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

+5

Dovrebbe essere la risposta corretta. – mcranston18

+0

Che cosa significa "navigare nel repository"? Per me, un commit è in un ramo, insieme ad altri commit. E ora ho spinto tutto così la mia area di lavoro è pulita. Come ci arrivo per cambiare il messaggio? Scusa - Sono un principiante con questo. – pgr

+0

Significa andare in una cartella in un ambiente * nix. Cioè se si repo si chiama "bar" e vive in una directory chiamata "foo" che risiede nella root della macchina, si apre un terminale e si digita 'cd/foo/bar'. Ora sei pronto per il passaggio 2 –

Problemi correlati