Comment modifier le contenu de la validation
La modification du contenu de la soumission GIT équivaut à réécrire l'histoire et à être prudent. Pour le commit le plus récent, utilisez Git Commit - Amend pour le corriger. Si vous devez modifier l'engagement précédent, utilisez Git Rebase -I. Notez que la modification de l'histoire peut entraîner des problèmes de collaboration. Vous devez utiliser Git Rebase avec prudence, et il est préférable de faire des sauvegardes. Gardez la portée des modifications petites lors de la soumission, écrivez des informations claires et utilisez le journal GIT pour afficher raisonnablement l'historique.
Git: Réécrivez l'histoire et veillez à naviguer dans un navire milléan
Vous avez soumis le code, puis vous avez constaté que le commentaire avait été mal écrit, ou que vous avez manqué un fichier important, ou si vous avez simplement soumis le mauvais code? Ne paniquez pas, Git fournit des outils puissants pour modifier le contenu soumis, mais n'oubliez pas, ce n'est pas une blague, et les conséquences d'une histoire changeante au hasard peuvent vous rendre chauve.
Cet article vous donnera une compréhension approfondie du mécanisme de modification des engagements de Git. Je vais partager quelques conseils et discuter des pièges que j'ai frappés au fil des ans. Après l'avoir lu, vous aurez une compréhension plus approfondie de la modification des engagements de Git et serez en mesure de gérer plus en toute confiance des situations similaires.
Tout d'abord, nous devons être clairs: le concept de conception de Git est de "tout enregistrer", donc le processus de modification de la validation est en fait de "réécrire l'histoire". Ceci est complètement différent de la simple modification des fichiers texte, une fois que l'historique est réécrit, cela peut causer des problèmes pour le travail d'équipe et même provoquer des accidents de projet. Par conséquent, soyez prudent!
Bases: Comprendre l'histoire de Git de Git
L'histoire des engagements de Git est comme une chaîne, et chaque engagement est un lien dans la chaîne, qui est connecté par une valeur de hachage SHA-1. La modification de la validation équivaut à modifier cette chaîne. Vous devez recalculer la valeur de hachage et mettre à jour le commit suivant.
Core: git commit --amend
votre médicament de regret
Il s'agit d'un outil puissant pour modifier le dernier engagement. Si vous trouvez quelque chose qui ne va pas avec l'engagement que vous venez de soumettre, comme oublier d'ajouter un fichier ou de modifier le commentaire, git commit --amend
est votre Sauveur.
<code class="bash">git add . # 添加修改的文件git commit --amend -m "更正的提交信息"</code>
Cette commande fusionne la modification actuelle dans le commit précédent et met à jour les informations de validation. Simple et brut, mais facile à utiliser! N'oubliez pas qu'il ne peut que modifier le dernier engagement. Si vous souhaitez modifier l'engagement précédent, vous devez utiliser des mouvements plus avancés.
Advanced: git rebase -i
Le Reshaper de l'histoire
git rebase -i
est une commande Rebase interactive qui vous permet d'avoir un contrôle plus granulaire sur l'historique des engagements. -i
signifie mode interactif.
<code class="bash">git rebase -i HEAD~3 # 修改最近三次提交</code>
Cette commande ouvrira un éditeur de texte pour afficher les informations des trois dernières soumissions, où vous pouvez modifier les informations de soumission, fusionner les soumissions ou même supprimer les soumissions. C'est puissant, mais aussi dangereux. Assurez-vous de lire attentivement les instructions de chaque option pour déterminer les conséquences de chaque opération. N'oubliez pas qu'après la réécriture de l'historique, votre référentiel local et votre référentiel distant peuvent avoir des conflits et doivent être gérés avec prudence.
Par exemple, supposons que vous ayez soumis trois fois et que vous souhaitez fusionner les deux dernières fois en un:
<code>pick a1b2c3d 第一次提交pick e4f5g6h 第二次提交pick i7j8k9l 第三次提交</code>
Vous pouvez le modifier pour:
<code>pick a1b2c3d 第一次提交squash e4f5g6h 合并第二次提交到第一次squash i7j8k9l 合并第三次提交到第一次</code>
Ensuite, sauvegardez et sortez, et Git reconstruira l'historique des engagements en fonction de vos instructions. N'oubliez pas que squash
fusionnera les commits et edit
vous permet de modifier un seul engagement.
Erreurs courantes et débogage
- Modifié l'historique du référentiel distant: cela peut causer des problèmes avec le travail d'équipe et même provoquer des accidents de projet. Dans les projets de collaboration multi-personnes, essayez d'éviter de modifier directement l'historique de l'entrepôt à distance.
-
git push --force-with-lease
: Après avoir modifié l'historique du référentiel local, vous devez utilisergit push --force-with-lease
pour mettre à jour le référentiel distant.--force-with-lease
est plus sûr que--force
car il vérifie si le référentiel distant est synchronisé avec le référentiel local pour éviter les conflits inutiles.
Optimisation des performances et meilleures pratiques
- Saut-étape Soumission: Essayez de garder la portée des modifications de chaque soumission plus petite, afin qu'il soit plus facile de faire reculer et de comprendre l'historique des engagements.
- Écrire des informations de soumission claires: les informations de soumission claires peuvent vous aider à mieux comprendre l'évolution du code et à faciliter le travail d'équipe.
- Attention lors de l'utilisation
git rebase
:git rebase
est un outil puissant, mais il est également assez dangereux. Vous devez l'utiliser avec prudence, en particulier pour les projets qui collaborent avec plusieurs personnes. Avant d'utilisergit rebase
, il est préférable de sauvegarder d'abord votre référentiel.
N'oubliez pas que le pouvoir de Git est sa contrôlabilité, mais à cause de cela, vous devez être suffisamment prudent. Ce n'est qu'en comprenant ceux-ci que vous pouvez être à l'aise dans le monde de Git. N'oubliez pas que git log
est votre bon ami. Il est souvent utilisé pour voir l'historique de la soumission, qui peut vous faire prendre conscience de vos opérations.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pour télécharger des projets localement via GIT, suivez ces étapes: installer Git. Accédez au répertoire du projet. Clonage du référentiel distant à l'aide de la commande suivante: Git Clone https://github.com/username/repository-name.git

Étapes pour mettre à jour le code GIT: Consultez le code: Git Clone https://github.com/username/repo.git Obtenez les derniers modifications: Git Fetch Merge Modifications: Git Merge Origin / Master Push Changes (Facultatif): Git Push Origin Master

Résolve: lorsque la vitesse de téléchargement GIT est lente, vous pouvez prendre les étapes suivantes: Vérifiez la connexion réseau et essayez de changer la méthode de connexion. Optimiser la configuration GIT: augmenter la taille du tampon post (Git Config - Global Http.PostBuffer 524288000) et réduire la limite à basse vitesse (Git Config - Global Http.LowspeedLimit 1000). Utilisez un proxy GIT (comme Git-Proxy ou Git-LFS-Proxy). Essayez d'utiliser un client GIT différent (comme SourceTree ou GitHub Desktop). Vérifiez la protection contre les incendies

Git Commit est une commande qui enregistre le fichier qui passe à un référentiel GIT pour enregistrer un instantané de l'état actuel du projet. Comment l'utiliser est comme suit: Ajoutez des modifications à la zone de stockage temporaire Écrivez un message de soumission concis et informatif pour enregistrer et quitter le message de soumission pour compléter la soumission éventuellement: Ajoutez une signature pour le journal GIT Utilisez le contenu de soumission pour afficher le contenu de soumission

Processus de fusion du code GIT: tirez les dernières modifications pour éviter les conflits. Passez à la branche que vous souhaitez fusionner. Lancer une fusion, spécifiant la branche pour fusionner. Résoudre les conflits de fusion (le cas échéant). Stadification et engager la fusion, fournir un message de validation.

Pour supprimer un référentiel GIT, suivez ces étapes: Confirmez le référentiel que vous souhaitez supprimer. Suppression locale du référentiel: utilisez la commande RM -RF pour supprimer son dossier. Supprimer à distance un entrepôt: accédez à l'entrepôt, trouvez l'option "Supprimer l'entrepôt" et confirmez l'opération.

Lors du développement d'un site Web de commerce électronique, j'ai rencontré un problème difficile: comment atteindre des fonctions de recherche efficaces en grande quantité de données de produit? Les recherches traditionnelles de base de données sont inefficaces et ont une mauvaise expérience utilisateur. Après quelques recherches, j'ai découvert le moteur de recherche TypeSense et résolu ce problème grâce à son client PHP officiel TypeSense / TypeSen-PHP, ce qui a considérablement amélioré les performances de recherche.

Comment mettre à jour le code GIT local? Utilisez Git Fetch pour extraire les dernières modifications du référentiel distant. Fusionner les modifications à distance de la branche locale à l'aide de Git Merge Origin / & lt; Nom de la branche distante & gt;. Résoudre les conflits résultant des fusions. Utilisez Git commit -m "Merge Branch & lt; Remote Branch Name & gt;" Pour soumettre des modifications de fusion et appliquer les mises à jour.
