Git est un outil indispensable dans la boîte à outils de chaque développeur. Il vous aide non seulement à gérer efficacement votre base de code, mais permet également une collaboration transparente avec les membres de l'équipe. Cependant, les développeurs négligent souvent certaines fonctionnalités et flux de travail puissants proposés par Git. Dans ce blog, nous explorerons les trucs et astuces essentiels de Git pour aider les développeurs à rationaliser leur flux de travail, à gérer les branches plus efficacement, à résoudre facilement les conflits et à intégrer les actions GitHub pour l'intégration continue/le déploiement continu (CI/CD).
Le branchement est l’une des fonctionnalités les plus puissantes de Git. L'utilisation de branches permet aux développeurs de travailler sur différentes fonctionnalités ou corrections de bogues de manière isolée, garantissant ainsi la stabilité de la base de code principale. Voici quelques stratégies clés pour améliorer votre flux de travail :
Git Flow : Git Flow est un modèle de branchement populaire qui vous aide à gérer votre cycle de vie de développement. Les principales branches de Git Flow sont master (pour le code de production stable) et develop (pour les fonctionnalités en développement). Les branches de fonctionnalités sont créées à partir du développement et fusionnées une fois la fonctionnalité terminée. Les branches de correctifs ou de correctifs sont créées à partir du maître pour résoudre les problèmes de production.
Développement basé sur le tronc : cette stratégie encourage les développeurs à travailler sur des branches de courte durée et à fusionner fréquemment de petites modifications incrémentielles dans la branche principale. C'est idéal pour un développement et une intégration rapides, réduisant ainsi les risques de désynchronisation des branches de longue durée avec la base de code principale.
Branches de fonctionnalités : créez toujours des branches distinctes pour les fonctionnalités (par exemple, fonctionnalité/page de connexion) et gardez-les isolées jusqu'à ce qu'elles soient prêtes à fusionner. Les branches de fonctionnalités aident à différencier clairement les différentes tâches et réduisent la complexité de la gestion de plusieurs modifications dans une seule branche.
Astuce : utilisez git branch -a pour lister toutes les branches locales et distantes, et git branch -d
Des conflits de fusion se produisent lorsque des modifications sont apportées aux mêmes lignes de code dans différentes branches. Bien qu'ils soient inévitables, savoir comment les gérer peut vous faire gagner du temps et vous éviter du stress.
Avant la fusion : toujours extraire les dernières modifications de la branche cible (par exemple, git pull origin master) dans votre branche de fonctionnalités avant de fusionner. Cela garantit que vous travaillez avec le code le plus à jour, ce qui peut éviter de nombreux conflits.
Pendant un conflit : lorsqu'un conflit survient, Git marque les fichiers en conflit. Vous pouvez résoudre ces conflits manuellement en modifiant les fichiers, en choisissant les modifications à conserver, puis en validant les modifications résolues.
# To see conflicting files git status # After resolving conflicts git addgit commit -m "Resolved merge conflict"
Un historique de validation désordonné peut rendre plus difficile la compréhension de l'évolution d'une base de code. C'est là que le rebasement interactif s'avère utile. Il vous permet d'écraser, de modifier ou de réorganiser les commits avant de les fusionner dans la branche principale.
# Start an interactive rebase for the last X commits git rebase -i HEAD~X
Conseil de pro : rebasez toujours avant de fusionner avec la branche principale pour éviter les validations de fusion inutiles. Par exemple:
git checkout feature-branch git rebase main
Il y a des moments où vous devez changer de branche ou travailler sur un bug urgent, mais vous ne voulez pas valider des modifications incomplètes. C'est là que git stash vient à la rescousse.
# Stash your current changes git stash # Apply the stashed changes later git stash apply # Drop the stash once it’s applied git stash drop
git stash vous permet d'enregistrer vos modifications non validées sans les valider, vous permettant de changer de branche ou de travailler sur d'autres tâches. C'est une bouée de sauvetage lorsque vous êtes au milieu de quelque chose mais que vous devez pivoter rapidement.
L'intégration continue et le déploiement continu (CI/CD) sont des pratiques essentielles pour maintenir la qualité du code et automatiser les déploiements. Avec GitHub Actions, vous pouvez facilement automatiser les workflows directement dans votre référentiel.
Voici un simple fichier GitHub Action YAML pour configurer un workflow CI de base qui exécute des tests à chaque fois que le code est poussé :
name: CI Pipeline on: push: branches: - main jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '16' - run: npm install - run: npm test
Cette action extrait le code, configure Node.js, installe les dépendances et exécute votre suite de tests. Vous pouvez étendre cela pour déployer l'application à l'aide de services tels qu'AWS, Heroku ou Vercel.
Conseil de pro : gardez toujours vos pipelines CI/CD efficaces en mettant en cache les dépendances et en exécutant des tests en parallèle pour réduire les temps de construction.
Le marquage des commits avec des numéros de version significatifs est un excellent moyen de suivre les versions importantes et de revenir à une version stable si nécessaire. Vous pouvez créer une balise légère comme celle-ci :
git tag -a v1.0.0 -m "First major release" git push origin v1.0.0
Les balises aident à marquer les points importants dans la chronologie de votre projet, comme une version de production ou l'achèvement d'une fonctionnalité majeure.
La saisie de commandes Git longues peut prendre du temps, donc l'utilisation d'alias Git peut accélérer votre flux de travail.
git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status
Avec ces alias, vous pouvez remplacer git checkout par git co, git branch par git br, etc. Cela réduit la saisie et accélère votre travail quotidien.
La maîtrise de Git peut considérablement améliorer votre efficacité et votre productivité en tant que développeur de logiciels. De l'utilisation de stratégies de branchement efficaces à la gestion des conflits de fusion en passant par l'exploitation des actions GitHub pour CI/CD, ces conseils vous aideront à rationaliser votre flux de travail et à garder vos projets bien organisés. Que vous travailliez seul ou en équipe, l'adoption de ces pratiques permettra une collaboration plus fluide et garantira que votre base de code reste propre et gérable.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3