notes d'utilisation de git
1. git réinitialiser
Il peut y avoir de nombreux types de problèmes lors de l'utilisation de git pour soumettre, comme vouloir ajouter plus ou moins de fichiers, ou il y a un problème avec les informations de validation. À ce stade, si nous voulons effectuer une opération de restauration de la version précédente, nous devons utiliser la commande git reset .
(1) Annuler ce qui a été validé mais pas encore poussé
git reset --mixed HEAD^ / [具体版本号]
git reset --soft HEAD^ / [具体版本号]
git reset --hard HEAD^ / [具体版本号]
HEAD^ : Indique la version précédente, c'est-à-dire le dernier commit, qui peut également s'écrire HEAD~1. Si vous souhaitez retirer les deux commits, vous pouvez utiliser HEAD~2 –mixed : Ne supprimez pas le code
modifié dans le workspace, et annuler la validation, Annuler git add file
–soft : ne pas supprimer le code modifié dans l'espace de travail, annuler la validation, ne pas annuler git add file
–hard : supprimer le code modifié dans l'espace de travail, annuler la validation, annuler l'ajout de fichier
(2) Annuler le commit qui a été poussé
① git log
Vérifiez le numéro de version qui doit être restauré ou déterminez HEAD~n
comment annuler n fois ;
PS : recommandé git log --pretty=oneline
, plus concis et intuitif
② Utilisez pour git reset
restaurer la version locale et utilisez --hard
pour annuler toutes les modifications ;
PS : cela --mixed
peut --soft
être mieux, restaurer de force les numéros de version locale et distante, mais le code modifié localement reste inchangé, vous pouvez continuer à modifier sur cette base
③Vérifiez git log
si la restauration locale est réussie ;
④Soumettez de force git push origin master --force
le numéro de version actuel ;
PS : si la branche principale est protected
oui, ce n'est pas pris en charge Soumission obligatoire, peut être modifiée pour faire une nouvelle soumission
2. git commit --amend
S'il y a une erreur dans les informations de soumission lors de git commit,vous pouvez utiliser git commit --amend
la commande pour les modifier.Notez que les informations avant et après la modification seront enregistrées dans git reflog
, et git log
il n'y aura aucun enregistrement avant la modification dans .
Il existe deux utilisations :
(1)
git commit --amend -m "这是修改之后的备注"
(2)
git commit --amend
Entrez dans la page d'édition vim, la première ligne contient les informations du message, enregistrez-la simplement après modification.
3. git à distance
Il existe un cas particulier, l'URL que vous avez utilisée lors du clonage de git auparavant est A, puis le nom de domaine de la société gitlab peut être modifié ultérieurement, à ce moment l'entrepôt local ne sera pas automatiquement mis à jour de manière synchrone.
git remote -v #查看所有远程仓库信息
git remote set-url [你的远程连接名] [你的远程仓库新地址] # 例如git remote set-url origin [email protected]