Combiner et déplacer un commit
Accédez au répertoire “git-tutorial/tutorial6” que vous venez de télécharger.
Lorsque vous examinez l’historique de ce référentiel, il se présente comme suit:
Nous allons à présent modifier le commit contenant le message “append description of the commit command.”
Nous utiliserons à cet effet la commande git rebase -i.
$ git rebase -i HEAD~~
La liste des commits de HEAD
jusqu'à HEAD~~
s'affiche dans votre éditeur de texte par défaut, comme indiqué ci-dessous.
pick 9a54fd4 append description of the commit command
pick 0d4a808 append description of the pull command
# Rebase 326fc9f..0d4a808 onto d286baa
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash," but discard this commit log message
# x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
Sur la première ligne, remplacez le mot pick
par edit
, puis enregistrez et quittez.
Le message suivant s'affiche alors et vous quittez ce commit.
Stopped at d286baa... append description of the commit command
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
Ouvrez le fichier sample.txt
et procédez à la modification comme indiqué ci-dessous.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Record index state.
pull: Obtain the content of the remote repository
Validez la modification à l'aide de la commande git commit --amend
.
$ git add sample.txt
$ git commit --amend
Exécutez ensuite la commande git rebase --continue
pour terminer le processus de rebasage.
$ git rebase --continue
Lors de l'exécution d'un rebasage sur votre branche active, vos modifications génèrent parfois des conflits. Pour continuer, vous devez résoudre manuellement ces conflits, puis exécuter les commandes git add
et git rebase --continue
. Il n'est pas nécessaire d'émettre de nouveaux commits pour résoudre les conflits.
Cependant, si vous souhaitez arrêter le rebasage, vous pouvez appeler la commande git rebase --abort
, ce qui annulera et quittera l'ensemble du processus tout en modifiant le commit.
Si vous spécifiez edit
sur plusieurs lignes lors de l'appel de la commande git rebase -i
, vous êtes invité à modifier chacun des commits l'un après l'autre.