web-dev-qa-db-fra.com

Comment modifier un commit sans changer le message de commit (en réutilisant le précédent)?

Existe-t-il un moyen de modifier une validation sans que vi (ou votre $EDITOR) n'apparaisse avec l'option de modifier votre message de validation, mais en réutilisant simplement le message précédent?

551
Sridhar Sarnobat

Depuis la version 1.7.9 de Git, vous pouvez également utiliser git commit --amend --no-edit pour obtenir votre résultat.

Notez que cela n'inclura pas les métadonnées de l'autre commit, telles que l'horodatage, qui peuvent être importantes ou non.

853
Shaggie

git commit -C HEAD --amend fera ce que vous voulez. L'option -C prend les métadonnées d'un autre commit.

105
Andy Ross

Une autre possibilité (idiote) est de git commit --amend <<< :wq si vous avez vi (m) comme $EDITOR.

50
galva

Pour prolonger la réponse acceptée, vous pouvez également faire:

git commit --amend --no-edit -a

pour ajouter les fichiers en cours de modification.

4
Rambatino

Utiliser la réponse acceptée pour créer un alias

 oops = "!f(){ \
    git add -A; \
    if [ \"$1\" == '' ]; then \
        git commit --amend --no-edit; \
    else \
        git commit --amend \"$@\"; \
    fi;\
}; f"

alors vous pouvez faire

git oops

et il va tout ajouter et modifier en utilisant le même message

ou

git oops -m "new message"

modifier le remplacement du message

2
aljgom