Git - Maîtriser les bases du versionnement
Contenus explorés en détail
Ce tutoriel Git couvre les fondamentaux et techniques avancées pour maîtriser ce système de gestion de versions. Vous apprendrez à configurer Git, initialiser des dépôts, gérer les commits et collaborer via des dépôts distants. Le guide aborde également des fonctionnalités puissantes comme le rebase pour modifier l'historique.
- Configurer Git et comprendre son architecture
- Maîtriser les workflows locaux et distants (commit, push, pull)
- Utiliser des outils avancés (rebase, branches, résolution de conflits)
Public concerné par ce PDF
Ce tutoriel s'adresse aux développeurs débutants souhaitant apprendre Git, aux professionnels cherchant à perfectionner leurs compétences, et aux chefs de projet techniques. Les étudiants en informatique et les équipes DevOps y trouveront également des ressources précises pour intégrer Git dans leurs workflows quotidiens.
Exemples pratiques et applications réelles
Git est utilisé quotidiennement pour :
- Collaborer sur des projets open source (ex : contributions sur GitHub)
- Gérer des versions de code dans les startups tech (ex : déploiements continus)
- Maintenir des historiques de modifications pour des documents techniques
Secteurs d'application professionnelle
- Développement logiciel : Git est indispensable pour le versioning (ex : équipes utilisant GitLab pour des applications bancaires).
- DevOps/Cloud : Intégration avec CI/CD (ex : pipelines AWS CodeCommit).
- Data Science : Versioning des notebooks Jupyter (ex : projets ML sur Kaggle).
Guide des termes importants
- Commit : Capture des modifications locales avec un identifiant unique.
- Branch : Ligne de développement isolée (ex : feature-branch).
- Merge : Fusion de branches (ex : intégration dans main).
- Rebase : Réécriture de l'historique pour simplifier les merges.
- Remote : Dépôt distant (ex : origin sur GitHub).
Réponses aux questions fréquentes
Comment annuler un commit local ?
Utilisez git reset HEAD~1 pour annuler le dernier commit tout en conservant les modifications.
Git vs SVN : quelles différences ?
Git est décentralisé (travail offline possible), contrairement à SVN qui nécessite un serveur central.
Comment résoudre un conflit de merge ?
Ouvrez les fichiers conflictuels, corrigez-les manuellement, puis exécutez git add + git commit.
Qu'est-ce qu'un .gitignore ?
Fichier excluant des éléments du versioning (ex : fichiers temporaires).
GitHub est-il obligatoire pour Git ?
Non, GitHub est un hébergeur parmi d'autres (GitLab, Bitbucket). Git fonctionne sans plateforme.
Exercices appliqués et études de cas
Projet 1 : Migration SVN vers Git
1. Cloner un dépôt SVN avec git svn clone
2. Configurer les branches principales
3. Tester les pushes vers un nouveau remote Git
Projet 2 : Workflow de feature-branch
1. Créer une branche pour une nouvelle fonctionnalité
2. Commiter des changements progressifs
3. Ouvrir une Pull Request sur GitHub après tests
Étude de cas : Collaboration open source
Analyse du workflow du noyau Linux (gestion des patches via Git).