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
Où 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 GitLes 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
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 OmisolaAbonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner