### 🚀 Configuration Initiale #### Configuration du nom d'utilisateur ```bash git config --global user.name "Votre Nom" ``` Cette commande configure le nom associĂ© Ă  vos futurs commits Ă  l’échelle globale (pour votre utilisateur). Ainsi, Git saura toujours quel nom attribuer aux modifications que vous effectuez. #### Configuration de l'email ```bash git config --global user.email "[email protected]" ``` De mĂŞme, cette commande dĂ©finit l’adresse email qui apparaĂ®tra dans l’historique des commits. Elle doit idĂ©alement correspondre Ă  l’adresse avec laquelle vous vous identifiez sur une plateforme Git (ex. GitHub, GitLab). #### Afficher la configuration ```bash git config --list ``` Permet de lister toutes les configurations Git actuellement en vigueur. Vous pouvez vĂ©rifier ici que votre nom, votre email et d’autres rĂ©glages sont correctement configurĂ©s. #### Éditer la configuration ```bash git config --global --edit ``` Ouvre le fichier de configuration Git (global) dans votre Ă©diteur par dĂ©faut pour apporter des modifications manuelles. C’est utile pour corriger ou personnaliser certains paramètres plus avancĂ©s. --- ### 🍼 Commandes de Base #### Initialiser un dĂ©pĂ´t Git ```bash git init ``` CrĂ©e un nouveau dĂ©pĂ´t Git dans le dossier courant, en initialisant un rĂ©pertoire. #### Cloner un dĂ©pĂ´t existant ```bash git clone <url> ``` Permet de rĂ©cupĂ©rer un dĂ©pĂ´t Git existant (par exemple depuis GitHub ou un serveur privĂ©) dans un nouveau dossier local. Vous obtenez ainsi l’historique complet et la dernière version des fichiers. #### Ajouter des fichiers au staging area ```bash git add <fichier> git add . ``` PrĂ©pare les fichiers spĂ©cifiĂ©s (ou tous les fichiers prĂ©sents avec `git add .`) pour le prochain commit. Vous indiquez ainsi Ă  Git prĂ©cisĂ©ment quelles modifications vous souhaitez enregistrer. #### VĂ©rifier le statut des fichiers ```bash git status ``` Affiche l’état actuel du dĂ©pĂ´t : vous pouvez voir quels fichiers sont modifiĂ©s, ajoutĂ©s, en attente de commit ou ignorĂ©s. Très pratique pour faire le point avant de valider vos changements. #### Afficher les modifications ```bash git diff ``` Montre ligne par ligne ce qui a Ă©tĂ© modifiĂ© dans vos fichiers. Vous pouvez ainsi identifier prĂ©cisĂ©ment les changements en attente de validation (ou entre deux commits spĂ©cifiques si vous utilisez `git diff <commit1> <commit2>`). #### Commit les changements ```bash git commit -m "Message du commit" ``` Enregistre de façon dĂ©finitive dans l’historique local les modifications que vous aviez ajoutĂ©es au staging area (avec `git add`). Le message de commit doit ĂŞtre clair et descriptif pour retracer l’évolution du projet. #### Afficher l'historique des commits ```bash git log git log --oneline --graph --all ``` `git log` liste tous les commits passĂ©s avec leurs informations dĂ©taillĂ©es, tandis que `--oneline --graph --all` offre une vue condensĂ©e et plus visuelle de l’historique. Cela facilite le suivi et la comprĂ©hension du travail rĂ©alisĂ©. --- ### 🌳 Branches #### Lister les branches ```bash git branch ``` Affiche toutes les branches prĂ©sentes dans votre dĂ©pĂ´t local, en indiquant celle sur laquelle vous vous trouvez actuellement. Les branches sont des « lignes de dĂ©veloppement » indĂ©pendantes. #### CrĂ©er une nouvelle branche ```bash git branch <nom_branche> ``` CrĂ©e une nouvelle branche Ă  partir de la branche courante sans basculer dessus. Cela vous permet de travailler sur une fonctionnalitĂ© ou un correctif isolĂ© du reste du projet. #### Changer de branche ```bash git checkout <nom_branche> ``` Bascule sur la branche spĂ©cifiĂ©e, en mettant Ă  jour votre environnement de travail local pour reflĂ©ter l’état de cette branche. Assurez-vous d’avoir commitĂ© ou sauvegardĂ© vos modifications avant de changer de branche. #### CrĂ©er et changer de branche ```bash git checkout -b <nom_branche> ``` Combine la crĂ©ation d’une branche et le basculement sur cette dernière en une seule Ă©tape. Pratique pour gagner du temps lorsque vous dĂ©butez une nouvelle fonctionnalitĂ©. #### Fusionner une branche dans la branche courante ```bash git merge <nom_branche> ``` Fusionne les modifications de la branche indiquĂ©e vers la branche sur laquelle vous vous situez. Attention aux Ă©ventuels conflits qu’il faudra rĂ©soudre si des modifications contradictoires ont Ă©tĂ© rĂ©alisĂ©es. #### Supprimer une branche ```bash git branch -d <nom_branche> ``` Supprime la branche spĂ©cifiĂ©e si elle a dĂ©jĂ  Ă©tĂ© fusionnĂ©e ou si vous avez bien gĂ©rĂ© son contenu. C’est une bonne pratique pour garder un environnement propre lorsque la branche n’est plus nĂ©cessaire. --- ### 🛰️ Remote Repositories #### Ajouter un dĂ©pĂ´t distant ```bash git remote add origin <url> ``` Associe le dĂ©pĂ´t local Ă  un dĂ©pĂ´t distant (souvent appelĂ© `origin`). Indispensable pour pouvoir partager votre code ou rĂ©cupĂ©rer les modifications d’autres contributeurs. #### VĂ©rifier les dĂ©pĂ´ts distants ```bash git remote -v ``` Liste les dĂ©pĂ´ts distants (par exemple `origin`) ainsi que leurs URLs. Vous pouvez ainsi confirmer l’adresse du serveur ou du service hĂ©bergeant votre code. #### RĂ©cupĂ©rer les modifications depuis le dĂ©pĂ´t distant ```bash git fetch origin ``` TĂ©lĂ©charge les nouveaux commits et branches depuis le dĂ©pĂ´t distant sans les fusionner automatiquement dans votre branche locale. C’est utile pour voir ce qui a changĂ© avant de dĂ©cider de fusionner. #### RĂ©cupĂ©rer et fusionner les modifications du dĂ©pĂ´t distant ```bash git pull origin <nom_branche> ``` Fait Ă  la fois un `fetch` et un `merge` (ou un `rebase`, selon la configuration). C’est la mĂ©thode la plus courante pour mettre Ă  jour votre branche locale avec les derniers changements de vos collaborateurs. #### Envoyer les commits locaux vers le dĂ©pĂ´t distant ```bash git push origin <nom_branche> ``` Envoie vos commits locaux (qui ne sont pas encore sur le serveur) vers la branche spĂ©cifiĂ©e du dĂ©pĂ´t distant. Ainsi, les autres contributeurs peuvent rĂ©cupĂ©rer vos dernières modifications. #### Supprimer un dĂ©pĂ´t distant ```bash git remote remove <nom_dĂ©pĂ´t> ``` Retire la rĂ©fĂ©rence au dĂ©pĂ´t distant de votre configuration locale. Les fichiers locaux restent inchangĂ©s, mais vous ne pourrez plus effectuer de `push` ou `pull` vers le dĂ©pĂ´t distant supprimĂ©.