Maison > Questions et réponses > le corps du texte
Cela est dû à la différence entre le nom d'utilisateur de l'entreprise git et le mien
Lors de la soumission du code, la configuration utilisateur globale de git est utilisée par défaut, le nom d'utilisateur xiaoli
puis poussée vers github
Après cela, j'ai configuré l'utilisateur git du projet et utilisé xiaowang
pour pousser à nouveau le code
Que dois-je faire si je souhaite réécrire l'adresse e-mail de l'utilisateur du premier commit git ?
J'utilise
git rebase -i HEAD~2
Mais seules les informations de la dernière soumission apparaissent.
黄舟2017-05-02 09:43:02
Mes démarches sont un peu lourdes, j'ai donc préparé des photos pour annotation :
Tout d'abord, ouvrez l'enregistrement de l'historique via gitk
, comme indiqué ci-dessous :
Dans cet exemple, j'essaie de modifier les informations nom d'utilisateur/email correspondant à la troisième soumission more tests for later change cases
.
La première étape consiste à copier la update readme
valeur de la quatrième soumission SHA1 ID
, comme indiqué dans l'image ci-dessus, en sélectionnant une partie de 4535579
(elles ne sont pas toutes nécessaires, les huit premières à mon avis sont ça suffit)
La deuxième étape consiste à revenir à la ligne de commande et à commencer à exécuter l'opération rebase -i
, comme suit :
git rebase -i 4535579
A ce moment, git
appellera automatiquement l'éditeur configuré pour ouvrir une interface, comme suit :
La troisième étape consiste à modifier le pick
de la première ligne de données (le commit que nous prévoyons de modifier) en edit
, comme suit :
Enregistrez et quittez, vous pouvez voir les résultats suivants :
Cool, maintenant nous pouvons facilement modifier les informations utilisateur via git commit --amend
Le fonctionnement est le suivant :
git commit --amend --author="LiLei <lilei@qq.com>" --no-edit
Continuer pour terminer rebase
,
git rebase --continue
Ouvrez gitk
à nouveau et profitez de vos résultats :
Enfin, synchronisez le résultat de la falsification de l'enregistrement de l'historique avec le serveur via git push --force
Notez que les mises à jour forcées comportent certains risques. Si quelqu'un d'autre soumet du code au serveur à ce moment-là, il sera écrasé par vos mises à jour forcées.