Tutoriel Git avancé

Tutoriel Git avancé

Le déploiement de votre projet via un référentiel distant vous permet de gérer chaque partie de manière flexible. Les corrections de bugs, les mises à jour de fonctionnalités, la suppression de fichiers, le travail d'équipe, les contributions open source, le déploiement de code et bien plus sont désormais à portée de main avec une solide connaissance de Git.





Alors, vous utilisez Git mais vous voulez en savoir plus ? Voici quelques astuces Git plus avancées qui faciliteront le contrôle de version de votre projet.





Branche Git

Une branche Git vous empêche de pousser directement vers la branche master. C'est utile si vous gérez un projet avec une équipe de développeurs. Vous pouvez créer autant de branches Git que vous le souhaitez, puis les fusionner ultérieurement avec la branche master.





Créer une branche Git

Pour créer une branche Git, utilisez :

git branch branch_name

Basculer vers une branche Git

Utilisation vérifier pour basculer vers une branche Git :



git checkout branch_name

Après avoir basculé vers une succursale, vous pouvez effectuer vos modifications en utilisant git ajouter --all . Puis validez-les en utilisant le git commit -m 'nom de validation' commander.

Comparer une succursale avec un maître

Utilisez le git diff commander:





git diff master..branch_name

Pour comparer des fichiers spécifiques :

git diff master..testb -- main.html

Comparer deux branches est similaire à la façon dont vous comparez une branche avec le maître :





git diff branch1..branch2

Pour voir les différences dans un fichier spécifique entre deux branches :

git diff branch1..branch2 -- main.html

Pousser les modifications vers une succursale distante

Vous voudrez peut-être qu'un autre développeur examine les modifications que vous avez apportées à un fichier dans votre branche locale avant de les diffuser en direct. Une bonne pratique consiste à pousser votre branche Git locale vers une réplique distante afin qu'elle puisse y jeter un œil.

Supposons que vous ayez précédemment créé une branche locale nommée changements . Vous pouvez basculer vers cette branche locale, ajuster tous les fichiers que vous voulez, puis les mettre en scène et les valider dans cette branche.

Vous pouvez ensuite transmettre ces modifications à la version distante de la branche :

git push origin changes

Fusionner la branche distante avec le maître à l'aide d'une demande d'extraction

Un autre programmeur a donc audité les changements dans la branche distante ( changements ). Mais vous voulez le fusionner avec la branche master et le pousser en direct.

N'oubliez pas que votre branche distante hérite du nom de votre branche Git locale ( changements ). Voici comment fusionner les modifications :

Basculez vers la branche master :

git checkout master

Tirez l'origine ou la TETE de la branche ( changements ) pour le fusionner avec la branche master :

git pull origin changes

Poussez cette fusion en direct vers la branche master :

git push origin master

Utilisez plutôt Git Merge

Pour fusionner une branche avec le maître en utilisant le aller commander:

Migrer vers la branche master :

git checkout master

Fusionnez-la avec la branche ( changements ):

git merge changes

Puis poussez la fusion en direct vers la branche master :

comment baisser la luminosité de l'écran windows 10
git push origin master

Assurez-vous de remplacer changements avec le nom de votre succursale.

Une fois la fusion réussie, vous pouvez alors supprimer la branche localement et à distance si vous n'en avez plus besoin :

En rapport: Comment renommer une branche dans Git

Git Rebase

Si vous avez plusieurs branches avec des commits obsolètes, vous pouvez rebaser ou recentrer le chef/réf de ces branches pour hériter de la chef/réf d'une mise à jour.

Le rebasage est donc pratique lorsque vous devez mettre à jour certaines branches avec la base d'une branche actuelle.

Cependant, le rebasage ne devrait pas être une action fréquente, surtout si vous travaillez avec une équipe, car cela peut perturber l'ensemble du flux de travail. Mais si vous travaillez seul et que vous êtes familier avec votre workflow et vos branches, le rebasage ne devrait pas faire des ravages si vous savez où et comment l'utiliser.

Par exemple, supposons que vous ayez deux branches ; branche1 et branche2. Maintenant, vous n'avez apporté aucune modification à branch1 depuis un certain temps. Mais vous validez systématiquement les modifications apportées à la branche2, y compris récemment.

Vous avez donc décidé de transporter branch1 avec le flux. Rebaser branch1 sur branch2, par conséquent, signifie que vous dites à branch1 d'ignorer ses commits précédents et d'hériter du commit récent effectué sur branch2.

Voici comment procéder :

Basculer vers la branche abandonnée (branche1) :

git checkout branch1

Rebase ensuite branch1 sur branch2 mis à jour :

git rebase branch2

Courge Git

Git squash vous permet de fusionner plusieurs commits en un seul. ça aide quand tu cours git commit plusieurs fois sur une seule mise à jour. Un exemple pratique est lorsque chaque correction de bogue ou refactorisation de code pour une seule fonctionnalité a un commit séparé.

Mais vous ne voudrez peut-être pas pousser le commit HEAD avec ceux qui l'accompagnent car ils ont tous le même objectif. Une approche recommandée consiste à les regrouper en un seul pour éviter toute confusion lors du suivi des commits.

La meilleure façon d'écraser les commits est via le mode de rebase interactif. Jetez un œil à l'exemple ci-dessous pour mieux comprendre cela.

Dans cet exemple, supposons que vous ayez cinq corrections de bogues. Et il y a un commit pour chacun d'eux. Voici comment regrouper ces cinq commits en un seul :

Courir git reflog pour afficher le code de hachage de vos commits :

git reflog

Voici le résultat dans ce cas :

Maintenant, votre objectif est d'écraser les cinq derniers commits, en commençant par premier correctif Jusqu'à cinquième correction .

Pour cela, copiez le code de hachage du commit juste en dessous premier correctif ( 0a83962 ). Puis appuyez Q quitter le reloger .

Maintenant, cours git rebase --interactive sur ce hachage.

git rebase --interactive 0a83962

Git ouvre alors un fichier de rebase interactif qui ressemble à ceci :

Pour écraser les commits, à l'exclusion du premier correctif , remplacer prendre avec s pour chacun des autres commits :

Enregistrez et fermez ce fichier.

Un autre fichier s'ouvre alors pour vous permettre de renommer le commit écrasé :

Windows Media Player a cessé de fonctionner Windows 7

Nettoyez-les et saisissez un nom préféré pour le commit écrasé :

Enregistrez ce fichier. Fermez-le ensuite et vous devriez recevoir un message de réussite dans votre terminal.

Noter: Le fichier interactif peut s'ouvrir dans le terminal. Mais si vous êtes sous Windows, vous voudrez peut-être forcer votre terminal à ouvrir globalement les fichiers dans votre éditeur de texte préféré pour faciliter l'écrasement.

Pour ce faire, ouvrez votre ligne de commande et exécutez :

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork contre Git Clone

Le fork et le clonage sont deux termes différents dans Git. Vous ne pouvez pas forker votre référentiel car il est déjà là avec vous. Vous pouvez, cependant, dupliquer le référentiel d'autres personnes et le cloner par la suite.

Forker un référentiel signifie que vous récupérez une copie du référentiel de quelqu'un et que vous en faites le vôtre. Une fois que vous avez obtenu une copie de ce référentiel, vous pouvez le cloner comme vous le feriez pour n'importe lequel de vos référentiels git pour les modifications locales.

Voici comment cloner un dépôt distant sur GitHub et lancez un téléchargement dans votre répertoire local :

git clone https://github.com/username/repository_name.git/

Restaurer un fichier à son état par défaut

Si vous souhaitez effacer les modifications dans un fichier après le dernier commit, vous pouvez utiliser le restauration git commander:

git restore filename

Modifier un commit

Vous pouvez revenir à un commit précédent si vous oubliez d'apporter des modifications à certains fichiers lors de leur transfert.

Apportez des modifications au fichier que vous avez oublié. Utilisez ensuite git amender pour revoir un commit :

git add file_forgotten
git commit --amend

Désactiver les fichiers

Vous pouvez supprimer des fichiers spécifiques que vous avez mis en scène pour un commit en utilisant allez rm commander:

git rm --cached filename

Vous pouvez également supprimer plusieurs fichiers à la fois :

git rm --cached file1 file2 file3 file4

N'oubliez pas d'ajouter l'extension de fichier appropriée à tout fichier que vous exemptez. Par exemple, un fichier texte brut doit être nom de fichier.txt .

En rapport: Comment nettoyer Git et supprimer les fichiers non suivis

Réinitialiser Git

À l'aide de git réinitialiser est utile si vous souhaitez supprimer tous les fichiers que vous avez mis en scène pour un commit à la fois :

git reset

Git reset HEAD, cependant, pointe le HEAD d'une branche vers un commit spécifique dans votre arbre de travail. Par exemple, si vous n'avez pas encore poussé votre commit actuel, vous pouvez revenir au commit récemment poussé :

git reset --soft HEAD~1

Remplacer --mou, tendre avec --dur si vous avez déjà poussé le commit actuel :

git reset --hard HEAD~1

Allez revenir

Contrairement au réinitialiser commander, va revenir maintient l'intégrité de votre historique de validation. C'est pratique si vous souhaitez modifier un commit en raison d'erreurs ou de bogues.

Il n'abandonne pas le commit cible et n'en crée pas un nouveau. Au lieu de cela, il revient aux modifications récentes que vous avez apportées sans supprimer ou renommer un tel commit. C'est un excellent moyen de garder vos commits plus propres, et c'est plus sûr que de réinitialiser tout le temps.

Pour revenir à un commit :

git revert HEAD~1

TÊTE~1 pointe vers un commit spécifique dans votre arbre de travail.

Supprimer un fichier suivi ou un répertoire

Vous pouvez utiliser git rm -f pour supprimer tous les fichiers suivis dans votre arbre de travail. Notez, cependant, que Git ne peut pas supprimer les fichiers non suivis, car il ne les met pas en cache.

Pour supprimer un fichier intermédiaire :

git rm -f filename

Pour supprimer un dossier intermédiaire :

git rm -r -f foldername

Journalisation Git

Pour afficher vos journaux de commit et votre historique dans Git :

git log

Pour enregistrer les activités dans une branche spécifique :

git log branch_name

En rapport: Comment inspecter l'historique d'un projet avec git log

Parfois, vous voudrez peut-être revenir à un commit abandonné. Donc pour voir les commits abandonnés, y compris ceux qui sont pertinents :

git reflog

Pour afficher les journaux de référence pour une branche particulière :

git reflog branch_name

Gérez vos versions de projet comme un pro avec Git

Avec Git offrant de nombreux avantages, vous pouvez gérer vos versions de projet à distance sans cambrioler des fichiers et des dossiers sur site dans votre branche principale. De plus, il vous permet d'exécuter facilement des projets avec une équipe.

Comme vous l'avez vu, Git possède de nombreuses fonctionnalités que vous pouvez explorer. Mais attention à utiliser ces fonctionnalités à bon escient. Sinon, vous pourriez finir par casser des choses. Cela dit, vous pouvez toujours créer un référentiel distant de démonstration et jouer avec ces fonctionnalités.

Partager Partager Tweeter E-mail Gérez votre version de fichier comme un programmeur avec Git

Les programmeurs ont créé des systèmes de contrôle de version (VCS) pour résoudre les problèmes de contrôle de version de fichier. Examinons les bases du contrôle de version en utilisant le meilleur système aujourd'hui, Git.

Lire la suite
Rubriques connexes
  • La programmation
  • Développement web
  • GitHub
  • Tutoriels de codage
A propos de l'auteur Idisou Omisola(94 articles publiés)

Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il s'amuse avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi de temps en temps rompre avec la routine. Sa passion pour montrer aux gens la voie à suivre avec la technologie moderne le motive à écrire davantage.

Plus de Idowu Omisola

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner