C'è un modo per modificare un commit senza vi(o il tuo $EDITOR) spuntare con l'opzione per modificare il messaggio di commit, ma semplicemente riutilizzando il messaggio precedente?
C'è un modo per modificare un commit senza vi(o il tuo $EDITOR) spuntare con l'opzione per modificare il messaggio di commit, ma semplicemente riutilizzando il messaggio precedente?
Risposte:
Dalla versione 1.7.9 di git puoi anche usare git commit --amend --no-editper ottenere il tuo risultato.
Tieni presente che ciò non includerà i metadati dell'altro commit come il timestamp che potrebbero essere o meno importanti per te.
git commit -C HEAD --amendfarà quello che vuoi. L' -Copzione accetta i metadati da un altro commit.
git config --global alias.amend 'commit --amend -C HEAD'. È quindi possibile utilizzare git amendcome scorciatoia.
--amend, anche senza altre opzioni, conserva la data dell'autore (ma cambia la data di commit). Come tale, ho rimosso il mio vecchio commento.
—amend. È possibile creare un nuovo commit ma utilizzare lo stesso messaggio del commit precedente. Potrebbe non sembrare utile, ma il mio messaggio di commit per impostazione predefinita quando sto solo salvando il mio lavoro senza dover pensare a un bel messaggio di commit, continuo a riutilizzare il messaggio—message=“Work in progress (untested)”
Un'altra possibilità (sciocca) è git commit --amend <<< :wqse hai vi (m) come $EDITOR.
... <<< ZZpotrebbe essere anche meno digitando;)
... <<< :x:)
Utilizzo della risposta accettata per creare un alias
oops = "!f(){ \
git add -A; \
if [ \"$1\" == '' ]; then \
git commit --amend --no-edit; \
else \
git commit --amend \"$@\"; \
fi;\
}; f"
allora puoi farlo
git oops
e aggiungerà tutto e modificherà usando lo stesso messaggio
o
git oops -m "new message"
per modificare la sostituzione del messaggio