Méthode : 1. Utilisez la commande "git commit --amend" pour modifier l'enregistrement de l'historique une fois ; 2. Utilisez la commande "git rebase -i spec commit number" pour modifier plusieurs enregistrements de l'historique ; La commande branch --filer "Plage modifiée de la commande" réécrit l'historique.
L'environnement d'exploitation de cet article : système Windows 10, Git version 2.30.0, ordinateur Dell G3.
Comment modifier l'historique de git
Joueur junior git amend
Si vous vous retrouvez désactivé après la soumission, vous pouvez utiliser git commit --amend pour modifier la soumission précédente. Une fois cette commande exécutée, elle supprimera la validation précédente de la branche actuelle, restaurera l'espace de travail à l'état dans lequel il a été préparé pour la dernière fois (tout en mélangeant les modifications après la dernière validation), puis affichera une interface vim pour vous. et modifiez les dernières informations de validation. Après avoir enregistré dans vim, toutes les modifications actuelles seront soumises avec de nouvelles informations de soumission.
Cette commande ne peut modifier que le dernier commit. Une commande équivaut à exécuter la série d'actions suivante :
$ORIG_HEAD=`git show`#保存当前的这次提交的 commit 号 $git reset --soft HEAD^#回到最后一次提交准备提交前的状态 $...#做一些操作和修改 $git commit -c $ORIG_HEAD#表示用最后一次提交的提交信息来做为提交信息,不过会调出编辑器界面
Joueur intermédiaire git rebase
Le git commit --amend précédent ne peut modifier que le dernier commit, mais quand Sur un coup de tête, lorsque nos mains sont désactivées, cette commande ne peut pas nous sauver. Pour le moment, nous devons utiliser l'outil tueur de git rebase -i pour nous aider à modifier ces événements passés insupportables.
En fait, git rebase -i n'est pas une commande spécifiquement utilisée pour modifier les enregistrements de l'historique, mais une commande qui nous permet d'effectuer des opérations de rebase de manière interactive (c'est-à-dire une par une), mais nous pouvons utiliser cette commande pour y parvenir Pour les modifications à l’historique des commits.
La méthode d'utilisation de cette commande est git rebase -i
Comme le montre l'image, si je soumets ces trois modifications et que je saisis git rebase -i HEAD~3, l'interface suivante apparaîtra :
C'est l'interface d'un éditeur vim. Lors de l'édition de ce script, les commandes pouvant être utilisées sont les six commandes dans les commentaires ci-dessous. Après avoir quitté la page où vous la modifiez actuellement, git effectuera les opérations correspondantes sur les soumissions une par une selon ce script (en commençant par la première soumission).
Si vous souhaitez simplement modifier les informations de validation, remplacez tous les choix par r, puis : wq save, puis git vous permettra de les modifier une par une en commençant par les premières informations de validation.
Parmi les commandes restantes, nous ferons apparaître l'éditeur vim lors de la modification de la soumission correspondante. À ce moment, le pointeur HEAD pointe vers cette soumission. À ce moment, vous pouvez utiliser git commit --amend pour y apporter diverses modifications. soumission, puis exécutez git rebase --continue poursuivra l'opération suivante ; s fusionnera cette soumission et sa soumission parent en une seule soumission lors de la modification de la soumission correspondante ; f est similaire à s mais ignorera les informations de la soumission actuelle et directement ; utiliser Les informations de la soumission parent ; x nécessite de saisir la commande après x, puis de l'exécuter lorsque HEAD pointe vers cette soumission. Ces commandes peuvent également être utilisées pour réorganiser les soumissions et les diviser.
La branche de filtre git tueuse ultime
Supposons qu'après avoir soumis N fois, nous découvrions soudainement que les adresses e-mail de nos soumissions étaient toutes fausses (╯°□°)╯︵ ┻━┻, à ce moment-là, si vous l'utilisez avant, les commandes mentionnées seront probablement épuisées avant d'être terminées. À ce stade, nous pouvons utiliser git filter-branch pour réécrire la branche, qui peut effectuer nos opérations prédéfinies sur chaque soumission par lots
git filter. Le format d'utilisation de base de la commande -branch est git filter-branch --
Apprentissage recommandé : "Tutoriel Git"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!