{"id":23072068,"url":"https://github.com/sanogotech/gitgithubstarter","last_synced_at":"2026-05-19T07:34:06.075Z","repository":{"id":91003877,"uuid":"219831039","full_name":"sanogotech/gitGithubStarter","owner":"sanogotech","description":"Git Commands Getting Started","archived":false,"fork":false,"pushed_at":"2024-08-25T07:30:05.000Z","size":928,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-21T23:37:27.515Z","etag":null,"topics":["git","github","pull-requests"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sanogotech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-05T19:12:46.000Z","updated_at":"2024-08-25T07:30:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"b03190b7-0a4e-49ef-b315-43e75259f80d","html_url":"https://github.com/sanogotech/gitGithubStarter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sanogotech/gitGithubStarter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanogotech%2FgitGithubStarter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanogotech%2FgitGithubStarter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanogotech%2FgitGithubStarter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanogotech%2FgitGithubStarter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sanogotech","download_url":"https://codeload.github.com/sanogotech/gitGithubStarter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanogotech%2FgitGithubStarter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33206320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:16:55.748Z","status":"ssl_error","status_checked_at":"2026-05-19T07:16:54.366Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","github","pull-requests"],"created_at":"2024-12-16T07:18:46.773Z","updated_at":"2026-05-19T07:34:06.047Z","avatar_url":"https://github.com/sanogotech.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"---\n\n## Cours Complet sur Git\n\n### Introduction\n\nGit est un système de contrôle de version décentralisé qui permet de suivre les modifications apportées aux fichiers et de collaborer efficacement avec d'autres développeurs. Git est très utilisé dans le développement logiciel pour gérer les versions du code source.\n\n### Table des Matières\n\n1. [Commandes de Base de Git](#commandes-de-base-de-git)\n2. [Tableau Récapitulatif des Commandes](#tableau-récapitulatif-des-commandes)\n3. [Exemple End-to-End sur Git et GitHub](#exemple-end-to-end-sur-git-et-github)\n\n---\n\n### Commandes de Base de Git\n\n#### 1. `git init`\n\n**Description :** Initialise un nouveau dépôt Git.\n\n**Syntaxe :**\n```bash\ngit init [chemin]\n```\n\n**Exemple :**\n```bash\nmkdir mon_projet\ncd mon_projet\ngit init\n```\nCe commande crée un nouveau dépôt Git dans le répertoire `mon_projet`.\n\n#### 2. `git clone`\n\n**Description :** Clone un dépôt distant sur votre machine locale.\n\n**Syntaxe :**\n```bash\ngit clone [url]\n```\n\n**Exemple :**\n```bash\ngit clone https://github.com/mon_utilisateur/mon_repertoire.git\n```\nCela crée une copie locale du dépôt `mon_repertoire`.\n\n#### 3. `git status`\n\n**Description :** Affiche l'état des fichiers dans le répertoire de travail.\n\n**Syntaxe :**\n```bash\ngit status\n```\n\n**Exemple :**\n```bash\ngit status\n```\nAffiche les fichiers modifiés, les fichiers en attente de validation, etc.\n\n#### 4. `git add`\n\n**Description :** Ajoute des fichiers au stage (préparation pour commit).\n\n**Syntaxe :**\n```bash\ngit add [fichier]\n```\n\n**Exemple :**\n```bash\ngit add index.html\n```\nAjoute `index.html` à l'index pour le prochain commit.\n\n#### 5. `git pull`\n\n**Description :** Récupère et fusionne les modifications d'un dépôt distant.\n\n**Syntaxe :**\n```bash\ngit pull [origine] [branche]\n```\n\n**Exemple :**\n```bash\ngit pull origin main\n```\nRécupère les modifications de la branche `main` du dépôt distant `origin`.\n\n#### 6. `git branch`\n\n**Description :** Liste, crée ou supprime des branches.\n\n**Syntaxe :**\n```bash\ngit branch [nom_br]\n```\n\n**Exemple :**\n```bash\ngit branch feature/nouvelle-fonction\n```\nCrée une nouvelle branche appelée `feature/nouvelle-fonction`.\n\n#### 7. `git checkout`\n\n**Description :** Change de branche ou restaure des fichiers.\n\n**Syntaxe :**\n```bash\ngit checkout [branche]\n```\n\n**Exemple :**\n```bash\ngit checkout feature/nouvelle-fonction\n```\nBascule vers la branche `feature/nouvelle-fonction`.\n\n#### 8. `git commit`\n\n**Description :** Enregistre les modifications dans l'historique du dépôt.\n\n**Syntaxe :**\n```bash\ngit commit -m \"Message de commit\"\n```\n\n**Exemple :**\n```bash\ngit commit -m \"Ajout de la page d'accueil\"\n```\nCrée un commit avec le message `Ajout de la page d'accueil`.\n\n#### 9. `git merge`\n\n**Description :** Fusionne les modifications d'une branche dans la branche courante.\n\n**Syntaxe :**\n```bash\ngit merge [branche]\n```\n\n**Exemple :**\n```bash\ngit merge feature/nouvelle-fonction\n```\nFusionne la branche `feature/nouvelle-fonction` dans la branche courante.\n\n#### 10. `git log`\n\n**Description :** Affiche l'historique des commits.\n\n**Syntaxe :**\n```bash\ngit log\n```\n\n**Exemple :**\n```bash\ngit log\n```\nAffiche les commits précédents avec leurs messages, auteurs, et dates.\n\n#### 11. `git reset`\n\n**Description :** Réinitialise l'index ou les modifications de commit.\n\n**Syntaxe :**\n```bash\ngit reset [options]\n```\n\n**Exemple :**\n```bash\ngit reset HEAD~1\n```\nAnnule le dernier commit, mais conserve les modifications dans le répertoire de travail.\n\n#### 12. `git push`\n\n**Description :** Envoie les commits locaux vers un dépôt distant.\n\n**Syntaxe :**\n```bash\ngit push [origine] [branche]\n```\n\n**Exemple :**\n```bash\ngit push origin main\n```\nEnvoie les commits de la branche `main` au dépôt distant `origin`.\n\n---\n\n### Tableau Récapitulatif des Commandes\n\n| Commande     | Description                                           | Syntaxe                         | Exemple                             |\n|--------------|-------------------------------------------------------|---------------------------------|-------------------------------------|\n| `git init`   | Initialise un dépôt Git                              | `git init [chemin]`              | `git init`                           |\n| `git clone`  | Clone un dépôt distant                               | `git clone [url]`                | `git clone https://github.com/...`   |\n| `git status` | Affiche l'état des fichiers                          | `git status`                     | `git status`                         |\n| `git add`    | Ajoute des fichiers au stage                         | `git add [fichier]`              | `git add index.html`                 |\n| `git pull`   | Récupère et fusionne les modifications                | `git pull [origine] [branche]`   | `git pull origin main`               |\n| `git branch` | Liste, crée ou supprime des branches                 | `git branch [nom_br]`            | `git branch feature/nouvelle-fonction` |\n| `git checkout`| Change de branche ou restaure des fichiers           | `git checkout [branche]`         | `git checkout feature/nouvelle-fonction` |\n| `git commit` | Enregistre les modifications dans l'historique       | `git commit -m \"Message\"`        | `git commit -m \"Ajout de la page d'accueil\"` |\n| `git merge`  | Fusionne les modifications d'une branche             | `git merge [branche]`            | `git merge feature/nouvelle-fonction` |\n| `git log`    | Affiche l'historique des commits                     | `git log`                        | `git log`                            |\n| `git reset`  | Réinitialise l'index ou les modifications de commit  | `git reset [options]`            | `git reset HEAD~1`                   |\n| `git push`   | Envoie les commits locaux vers un dépôt distant      | `git push [origine] [branche]`   | `git push origin main`               |\n\n---\n\n### Exemple End-to-End sur Git et GitHub\n\n#### Scénario : Création d'un Projet, Collaboration et Déploiement\n\n1. **Initialisation du Projet :**\n\n   ```bash\n   mkdir mon_projet\n   cd mon_projet\n   git init\n   ```\n\n2. **Création du Fichier Initial :**\n\n   ```bash\n   echo \"# Mon Projet\" \u003e README.md\n   git add README.md\n   git commit -m \"Initial commit avec README\"\n   ```\n\n3. **Création d'un Dépôt sur GitHub :**\n\n   - Allez sur [GitHub](https://github.com) et créez un nouveau dépôt nommé `mon_projet`.\n   - Notez l'URL du dépôt (`https://github.com/mon_utilisateur/mon_projet.git`).\n\n4. **Ajout du Dépôt Distant et Push Initial :**\n\n   ```bash\n   git remote add origin https://github.com/mon_utilisateur/mon_projet.git\n   git push -u origin main\n   ```\n\n5. **Création d'une Nouvelle Branche :**\n\n   ```bash\n   git branch feature/nouvelle-fonction\n   git checkout feature/nouvelle-fonction\n   ```\n\n6. **Ajout de Fonctionnalités sur la Nouvelle Branche :**\n\n   ```bash\n   echo \"Nouvelle fonctionnalité ajoutée\" \u003e fonctionnalite.txt\n   git add fonctionnalite.txt\n   git commit -m \"Ajout de la nouvelle fonctionnalité\"\n   ```\n\n7. **Fusion de la Branche dans Main :**\n\n   ```bash\n   git checkout main\n   git merge feature/nouvelle-fonction\n   ```\n\n8. **Push des Modifications vers GitHub :**\n\n   ```bash\n   git push origin main\n   ```\n\n9. **Gestion des Modifications :**\n\n   - Modifiez un fichier existant.\n   - Utilisez `git status` pour voir les changements.\n   - Utilisez `git add`, `git commit`, et `git push` pour enregistrer et partager les modifications.\n\n10. **Consulter l'Historique :**\n\n    ```bash\n    git log\n    ```\n\n---\n\nCe cours couvre les commandes de base de Git et fournit un exemple pratique de gestion d'un projet avec Git et GitHub. Pour approfondir vos connaissances, explorez les fonctionnalités avancées telles que les rebases, les stashes, et les hooks Git. N'hésitez pas à me demander plus d'informations si nécessaire !\n\nBien sûr, continuons avec les commandes Git supplémentaires, de 11 à 20, avec des explications détaillées, des exemples, et un tableau récapitulatif.\n\n---\n\n### Commandes Avancées de Git\n\n#### 11. `git tag`\n\n**Description :** Crée, liste ou supprime des tags. Les tags sont souvent utilisés pour marquer des versions spécifiques de votre projet.\n\n**Syntaxe :**\n```bash\ngit tag [nom_tag] [commit]\n```\n\n**Exemple :**\n```bash\ngit tag v1.0.0\n```\nCrée un tag `v1.0.0` sur le commit courant.\n\n#### 12. `git stash`\n\n**Description :** Met de côté les modifications en cours pour une utilisation ultérieure. Utile pour passer à une autre branche sans valider les modifications actuelles.\n\n**Syntaxe :**\n```bash\ngit stash [options]\n```\n\n**Exemple :**\n```bash\ngit stash\n```\nSauvegarde les modifications non validées dans un stash.\n\n#### 13. `git fetch`\n\n**Description :** Récupère les modifications du dépôt distant sans les fusionner avec la branche courante.\n\n**Syntaxe :**\n```bash\ngit fetch [origine]\n```\n\n**Exemple :**\n```bash\ngit fetch origin\n```\nRécupère les mises à jour depuis le dépôt distant `origin`.\n\n#### 14. `git rebase`\n\n**Description :** Rejoue les commits d'une branche sur une autre branche. Utile pour maintenir un historique linéaire.\n\n**Syntaxe :**\n```bash\ngit rebase [branche]\n```\n\n**Exemple :**\n```bash\ngit rebase main\n```\nRejoue les commits de la branche courante sur la branche `main`.\n\n#### 15. `git diff`\n\n**Description :** Affiche les différences entre les versions de fichiers ou les commits.\n\n**Syntaxe :**\n```bash\ngit diff [options] [commit1] [commit2]\n```\n\n**Exemple :**\n```bash\ngit diff HEAD~1\n```\nAffiche les différences entre le dernier commit et l'état actuel des fichiers.\n\n#### 16. `git remote`\n\n**Description :** Gère les dépôts distants. Vous pouvez ajouter, supprimer, ou modifier des dépôts distants.\n\n**Syntaxe :**\n```bash\ngit remote [options] [nom_distant] [url]\n```\n\n**Exemple :**\n```bash\ngit remote add upstream https://github.com/quelquun/quelque_repertoire.git\n```\nAjoute un dépôt distant nommé `upstream`.\n\n#### 17. `git cherry-pick`\n\n**Description :** Applique un commit spécifique d'une autre branche à la branche courante.\n\n**Syntaxe :**\n```bash\ngit cherry-pick [commit]\n```\n\n**Exemple :**\n```bash\ngit cherry-pick 1a2b3c4d\n```\nApplique le commit avec l'ID `1a2b3c4d` à la branche courante.\n\n#### 18. `git rm`\n\n**Description :** Supprime des fichiers du répertoire de travail et de l'index.\n\n**Syntaxe :**\n```bash\ngit rm [fichier]\n```\n\n**Exemple :**\n```bash\ngit rm fichier_a_supprimer.txt\n```\nSupprime `fichier_a_supprimer.txt` du répertoire de travail et de l'index.\n\n#### 19. `git config`\n\n**Description :** Configure les options Git, telles que les informations utilisateur et les préférences de comportement.\n\n**Syntaxe :**\n```bash\ngit config [options] [clé] [valeur]\n```\n\n**Exemple :**\n```bash\ngit config --global user.name \"Votre Nom\"\n```\nDéfinit le nom d'utilisateur global pour les commits.\n\n#### 20. `git blame`\n\n**Description :** Affiche qui a modifié chaque ligne d'un fichier et dans quel commit.\n\n**Syntaxe :**\n```bash\ngit blame [fichier]\n```\n\n**Exemple :**\n```bash\ngit blame index.html\n```\nAffiche l'auteur et le commit pour chaque ligne du fichier `index.html`.\n\n---\n\n### Tableau Récapitulatif des Commandes Avancées\n\n| Commande       | Description                                           | Syntaxe                         | Exemple                                           |\n|----------------|-------------------------------------------------------|---------------------------------|---------------------------------------------------|\n| `git tag`      | Crée, liste ou supprime des tags                     | `git tag [nom_tag] [commit]`     | `git tag v1.0.0`                                 |\n| `git stash`    | Met de côté les modifications en cours               | `git stash [options]`            | `git stash`                                      |\n| `git fetch`    | Récupère les modifications du dépôt distant           | `git fetch [origine]`            | `git fetch origin`                              |\n| `git rebase`   | Rejoue les commits d'une branche sur une autre       | `git rebase [branche]`           | `git rebase main`                               |\n| `git diff`     | Affiche les différences entre les versions           | `git diff [options] [commit1] [commit2]` | `git diff HEAD~1`                                |\n| `git remote`   | Gère les dépôts distants                              | `git remote [options] [nom_distant] [url]` | `git remote add upstream https://github.com/...` |\n| `git cherry-pick`| Applique un commit spécifique d'une autre branche    | `git cherry-pick [commit]`       | `git cherry-pick 1a2b3c4d`                       |\n| `git rm`       | Supprime des fichiers du répertoire de travail et de l'index | `git rm [fichier]`               | `git rm fichier_a_supprimer.txt`                 |\n| `git config`   | Configure les options Git                            | `git config [options] [clé] [valeur]` | `git config --global user.name \"Votre Nom\"`      |\n| `git blame`    | Affiche qui a modifié chaque ligne d'un fichier       | `git blame [fichier]`            | `git blame index.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanogotech%2Fgitgithubstarter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanogotech%2Fgitgithubstarter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanogotech%2Fgitgithubstarter/lists"}