Je viens de réaliser que j'ai laissé un dossier que je devais ajouter à un commettre comme 5 commits. Dans le message de validation, j'ai dit que le dossier était inclus, et je n'ai pas envie de faire un nouveau commit avec le texte "Oops oublié d'ajouter ce fichier dans Engage #xxxxx" p>
Quel est le meilleur moyen de modifier un commit précédent afin que je puisse ajouter le fichier? p>
3 Réponses :
COMMITZ votre correctif, puis utilisez Notez que cela fait que cela fait une mauvaise idée si ces commits ont déjà été poussés déjà quelque part, car vous allez changer l'historique du référentiel. P> Un exemple de session pourrait ressembler à ceci: p> git rebase --interactive code> pour réorganiser vos engagements et votre courge les deux commettre. Voir Le livre Git pour plus de détails. % git log -p HEAD~2..HEAD~1
commit 7a4c496956eb269c551bbf027db8b0f2320b65e4
Author: User Name <user@host.tld>
Date: Fri Feb 3 22:57:31 2012 +0100
Important changes
diff --git a/a.txt b/a.txt
index 8d7158c..54df739 100644
--- a/a.txt
+++ b/a.txt
@@ -1 +1,3 @@
A line
+Another line
+Important line forgotten previously
J'aimerais une explication plus minutieuse, peut-être même une procédure pas à pas, mais je suppose que c'est un point de départ.
J'ai ajouté un exemple, j'espère que ça vous aide!
Vous pouvez utiliser le Une fois que vous avez le commit de Fixup, vous devez utiliser Les mises en garde habituelles à la réécriture de l'histoire s'appliquent, si vous avez déjà publié votre succursale quelque part que d'autres utilisateurs ont tiré, cela causera généralement beaucoup de confusion et de fusionner des problèmes si vous repoussez avec une histoire réécrite. Dans ces cas, il est tout simplement plus simple de pousser la correction en tant que nouveau commit. P>
Remarque: Une bonne accueil du travail automatique peut être trouvé ici: https://thoughbot.com/blog / autosquashing-git-commits p> GIT COMMIT-COMTT --FIXUP Git Rebase --interactive --autosquash git config --global Rebase.autosquash true code> allumera par défaut par défaut, ce qui signifie que vous n'avez pas besoin de passer l'option - AutoSquash code> à le commandement interactif Rebase plus. C'est une bonne valeur par défaut d'avoir. P>
Pour faire un une fois que vous avez écrasé vos commits - choisissez le Choisissez Choisissez Strong> pour le dernier commit afin de le préserver. p> Une autre option consiste à utiliser la branche filtrante p> Voici la manière dont vous obtenez les paramètres et vous pouvez les mettre à jour et ré-commister avec les nouvelles valeurs au lieu des anciens. . p> dans cet exemple, j'ai changé l'e-mail mais la même demande de message. p> git squash code>. E code> ou ' R 'Pour l'édition. P>