# GitHub Desktop : téléchargement, installation et utilisation de Git sans ligne de commande

URL: https://skillaria.top/fr/guides/git/github-desktop-installer-utiliser

GitHub Desktop est une application gratuite de GitHub pour Windows et macOS qui exécute les principales opérations de Git d'un clic : clonage, commit, push, pull, branches, fusion et résolution des conflits. On la télécharge sur le site officiel desktop.github.com ; après l'installation, il suffit de se connecter à son compte GitHub et de cloner le dépôt.

## Qu'est-ce que GitHub Desktop

GitHub Desktop est une application gratuite et open source publiée par GitHub pour Windows et macOS. Elle affiche les fichiers modifiés, l'historique des commits et les branches dans une fenêtre, et exécute les commandes Git principales en cliquant sur des boutons. L'application embarque sa propre copie de Git : il n'est donc pas nécessaire d'installer Git séparément pour l'utiliser.

En bref, GitHub Desktop est un client Git graphique conçu pour GitHub. Il permet de cloner vos dépôts en un clic, de créer des pull requests et d'afficher l'état des vérifications. Il fonctionne aussi avec n'importe quel autre dépôt distant accessible en HTTPS, par exemple sur GitLab ou sur un serveur personnel.

GitHub Desktop convient bien aux débutants, aux designers, aux rédacteurs techniques et à toute personne qui veut un cycle simple « modifier – committer – envoyer ». Les développeurs expérimentés s'en servent pour visualiser clairement les diffs et committer des lignes choisies, mais font les opérations complexes dans le terminal.

## Télécharger GitHub Desktop

L'adresse de téléchargement officielle est desktop.github.com. Le site détecte votre système et propose un installeur pour Windows ou une archive pour macOS. Ne téléchargez le programme que depuis ce site ou depuis la page des releases du dépôt desktop/desktop sur GitHub : les installeurs « gratuits » proposés par des sites tiers peuvent contenir n'importe quoi.

Il n'existe pas de version officielle pour Linux. Une variante maintenue par la communauté (dépôt shiftkey/desktop) propose des paquets .deb, .rpm et AppImage, mais elle n'est pas officielle. Sous Linux, il est préférable de travailler dans le terminal ou avec la fonction Git intégrée à votre éditeur.

### Installation sous Windows

1. Lancez le fichier GitHubDesktopSetup téléchargé.
2. L'installeur ne pose aucune question : le programme s'installe dans le profil de l'utilisateur courant et s'ouvre immédiatement.
3. Les droits administrateur ne sont pas nécessaires, l'application télécharge elle-même ses mises à jour.

Pour une installation sur les postes d'une entreprise, un installeur MSI dédié existe ; vous le trouverez dans la documentation de GitHub Desktop.

### Installation sous macOS

1. Décompressez l'archive ZIP téléchargée.
2. Faites glisser GitHub Desktop dans le dossier « Applications ».
3. Lancez l'application et confirmez l'ouverture d'un programme téléchargé depuis Internet.

Des versions existent pour les processeurs Intel et Apple Silicon ; le site propose en général automatiquement la bonne. Vous pouvez aussi l'installer avec Homebrew :

```
brew install --cask github
```

## Connexion au compte et premier paramétrage

Au premier lancement, GitHub Desktop propose de vous connecter à GitHub.com. Cliquez sur le bouton de connexion : votre navigateur s'ouvre et vous confirmez l'accès de l'application à votre compte. Vous ne saisissez pas votre mot de passe dans l'application elle-même, et l'authentification à deux facteurs se fait dans le navigateur comme d'habitude. Pour le serveur d'entreprise GitHub Enterprise, une option de connexion distincte est disponible.

Le programme vous demande ensuite de configurer Git : votre nom et votre adresse e-mail, qui figureront dans chaque commit. Ce sont les mêmes valeurs `user.name` et `user.email` que l'on définit avec `git config --global` : si Git est déjà configuré, les données sont reprises automatiquement. Pour que vos commits soient rattachés à votre profil GitHub, indiquez l'adresse e-mail associée à votre compte ou l'adresse de type `ID+identifiant@users.noreply.github.com`.

Vous pouvez modifier ces réglages plus tard : sous Windows via File → Options, sous macOS via GitHub Desktop → Settings. C'est aussi là que vous choisissez l'éditeur externe (par exemple VS Code) et le terminal ouverts depuis l'application, ainsi que le thème.

## Cloner un dépôt

Cloner signifie télécharger une copie du dépôt distant avec tout son historique. Dans GitHub Desktop, utilisez File → Clone repository. La fenêtre comporte trois onglets : vos dépôts sur GitHub.com, les dépôts de GitHub Enterprise, et l'onglet URL, dans lequel vous collez n'importe quelle adresse, y compris une adresse GitLab.

1. Choisissez un dépôt dans la liste ou collez l'URL.
2. Indiquez le dossier local (Local path).
3. Cliquez sur Clone et attendez la fin du téléchargement.

La commande `git clone` fait exactement la même chose. Sur la page du dépôt GitHub, le menu du bouton Code contient l'option Open with GitHub Desktop, qui ouvre l'application avec l'adresse déjà renseignée. Si vous clonez un dépôt d'autrui sans droit d'écriture, l'application proposera de créer un fork lors de votre première tentative d'envoi de modifications.

Un dossier contenant déjà un projet Git s'ajoute via File → Add local repository, et un nouveau dépôt se crée via File → New repository : vous pouvez y choisir directement un modèle de `.gitignore`, une licence et générer un README.

## Faire un commit dans GitHub Desktop

À gauche, l'onglet Changes liste tous les fichiers modifiés ; à droite s'affiche le diff du fichier sélectionné : lignes supprimées en rouge, lignes ajoutées en vert. La case à cocher à côté d'un fichier détermine s'il entrera dans le commit. Elle correspond à la zone de préparation (staging area) et à la commande `git add`.

1. Décochez les fichiers que vous ne voulez pas committer.
2. Si nécessaire, cliquez sur des lignes individuelles dans le diff pour les exclure : c'est un commit partiel, comparable à `git add -p`.
3. Saisissez en bas une description courte dans le champ Summary et, si vous le souhaitez, des détails dans Description.
4. Cliquez sur le bouton Commit to <nom de la branche>.

Le commit n'existe pour l'instant qu'en local et n'est pas encore parti sur le serveur. Avec git desktop commit, il est facile de faire de petits commits explicites, puisqu'on voit exactement ce qui entre dans chacun. Si une erreur s'est glissée dans le commit, un bouton Undo apparaît juste en dessous : il annule le dernier commit et remet les modifications dans le dossier de travail, tant que le commit n'a pas été envoyé.

Pour exclure les fichiers qui ne doivent pas figurer dans le dépôt, utilisez le menu contextuel du fichier : l'option d'ignorance ajoute le fichier au `.gitignore`. Pour annuler des modifications non committées, le même menu propose Discard changes. Les modifications sont alors supprimées (dans la corbeille du système sous Windows et macOS), mais considérez cette action comme irréversible.

## Push, pull et fetch : synchronisation avec le serveur

Le bouton principal de la barre supérieure change de libellé selon la situation. C'est là que git desktop push et git desktop pull s'exécutent en un clic.

| Libellé du bouton | Ce qui se passe | Commande Git |
| --- | --- | --- |

| Publish repository | Le dépôt local n'est pas encore sur GitHub : le créer et l'envoyer | Création du remote + `git push -u` |

| Publish branch | La branche n'existe qu'en local | `git push -u origin branche` |

| Fetch origin | Vérifier s'il existe de nouveaux commits sur le serveur | `git fetch` |

| Pull origin | Le serveur contient de nouveaux commits à récupérer | `git pull` |

| Push origin | Il existe des commits locaux à envoyer | `git push` |

À côté du libellé s'affiche le nombre de commits avec des flèches vers le haut et vers le bas : combien vous devez envoyer et combien vous devez recevoir. L'application effectue régulièrement un fetch en arrière-plan ; le bouton Pull apparaît donc tout seul dès que des collègues ont envoyé des modifications.

Si votre branche a divergé du serveur, parce que des commits nouveaux existent à la fois chez vous et sur le serveur, le push est refusé. Commencez par Pull origin : Git fusionne les modifications, et si elles se chevauchent, un conflit apparaît. L'application ne propose un force push, qui réécrit l'historique, qu'après des opérations modifiant des commits déjà envoyés, par exemple après un rebase.

## Branches : créer, changer, checkout

Les branches se gèrent depuis le menu déroulant Current branch de la barre supérieure. Vous y trouvez la liste des branches locales et distantes, une recherche et le bouton New branch. Choisir une branche dans la liste revient à git desktop checkout : l'application place le dossier de travail sur cette branche. Pour une branche distante qui n'existe pas encore en local, il suffit de la sélectionner : une branche locale suivant la branche distante est alors créée.

Une nouvelle branche est créée à partir de la branche courante ou de la branche par défaut ; l'application vous demande de choisir si nécessaire. Tant qu'elle n'est pas publiée, elle n'existe que chez vous, et le bouton du haut devient Publish branch. Le renommage et la suppression d'une branche se trouvent dans le menu Branch ou dans le menu contextuel de la branche ; lors de la suppression, vous pouvez cocher l'option qui la supprime aussi sur le serveur.

Lorsque le travail sur la branche est terminé, le menu Branch propose Create pull request : le navigateur ouvre la page de création d'une pull request sur GitHub. La revue et la fusion se font ensuite sur le site.

## Fusion (merge) et rebase dans GitHub Desktop

Pour intégrer une autre branche dans la branche courante, choisissez Choose a branch to merge into <branche> dans le menu Current branch (la même entrée figure dans le menu Branch). L'application indique à l'avance le nombre de commits qui seront intégrés et s'il y aura des conflits. C'est ainsi que l'on exécute git desktop merge, c'est-à-dire un `git merge` classique.

Le même menu propose Squash and merge, qui condense tous les commits de la branche en un seul, et Rebase current branch. Avec git desktop rebase, vos commits sont rejoués au-dessus de la branche choisie. Après un rebase d'une branche déjà envoyée, l'historique sur le serveur et chez vous diffère, et le bouton Push devient Force push origin. Ne faites cela que dans votre propre branche, sur laquelle personne d'autre ne travaille.

Sur l'onglet History, vous pouvez faire glisser des commits : sur une autre branche (c'est un cherry-pick), l'un sur l'autre (squash) ou pour changer leur ordre. Il n'existe pas de rebase interactif complet avec toutes les actions : pour cela, utilisez `git rebase -i` dans le terminal.

## Conflits de fusion

Si les mêmes lignes ont été modifiées dans les deux branches, un merge, un pull ou un rebase affiche une fenêtre listant les fichiers en conflit. Pour chacun, vous pouvez ouvrir le fichier dans un éditeur externe ou choisir entièrement l'une des deux versions : la vôtre ou la version entrante.

Dans l'éditeur, un conflit apparaît sous sa forme habituelle :

```
> feature/pagination
```

Conservez la variante souhaitée, supprimez les marqueurs et enregistrez le fichier. Lorsque tous les fichiers ne contiennent plus de marqueurs, GitHub Desktop les marque comme résolus et active le bouton qui poursuit la fusion en créant un commit de fusion. Si quelque chose a mal tourné, annulez la fusion avec le bouton d'annulation de la même fenêtre : cela correspond à `git merge --abort`.

## Git stash dans GitHub Desktop

Il n'existe pas de bouton « stash » dans la fenêtre principale, mais le mécanisme est présent. Lorsque vous changez de branche avec des modifications non committées, l'application vous demande quoi en faire : les laisser sur la branche actuelle ou les emporter sur la nouvelle. L'option « laisser » range les modifications dans le stash : c'est ainsi que fonctionne git stash dans GitHub Desktop.

Vous pouvez aussi mettre des modifications de côté manuellement via le menu contextuel de la liste des changements (option Stash all changes). Une fois revenu sur la branche, la ligne Stashed changes apparaît en bas de l'onglet Changes : vous pouvez y consulter les fichiers mis de côté, les restaurer (Restore) ou les supprimer.

Limite : GitHub Desktop ne conserve qu'un seul stash par branche. Si vous en avez besoin de plusieurs, utilisez le terminal avec `git stash pop` pour une entrée précise ou `git stash apply stash@{1}`. Vous ouvrez le terminal directement dans le dossier du projet depuis le menu Repository.

## Git LFS dans GitHub Desktop

Git LFS stocke les gros fichiers binaires (vidéos, fichiers PSD, modèles) sur un serveur séparé ; le dépôt ne contient plus que des pointeurs. GitHub Desktop prend en charge LFS : lorsque vous clonez ou ouvrez un dépôt qui l'utilise, il propose d'initialiser Git LFS, puis télécharge et envoie automatiquement les gros fichiers.

En revanche, l'interface ne permet pas de choisir les fichiers suivis par LFS. Cela se fait une seule fois dans le terminal ; ensuite, git lfs fonctionne de façon transparente dans GitHub Desktop :

```
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Track PSD files with Git LFS"
```

Attention aux quotas : les comptes GitHub gratuits ont un volume de stockage et de trafic LFS limité. Consultez les limites actuelles dans les paramètres de facturation de votre compte.

## Reset, revert et historique

L'onglet History affiche les commits de la branche courante et les modifications de chacun. Le menu contextuel d'un commit propose :

- **Revert changes in commit** — crée un nouveau commit qui annule celui choisi. C'est sûr, même pour des commits déjà envoyés.
- **Create branch from commit** et **Create tag** — branche ou tag à partir de n'importe quel point de l'historique.
- **Amend commit** — pour le dernier commit : corriger le message ou ajouter des fichiers.
- **Reset to commit** — dans les versions récentes de l'application : ramène la branche au commit choisi en conservant les modifications dans le dossier de travail, comme `git reset --mixed`.

Il n'existe pas dans l'interface de variante de git desktop reset qui efface les modifications (`git reset --hard`) : c'est un choix délibéré pour éviter qu'un débutant perde son travail. Si vous en avez besoin, utilisez le terminal ; les commits perdus se retrouvent avec `git reflog`.

## Quand la ligne de commande est préférable

GitHub Desktop couvre le cycle de travail quotidien, mais de nombreuses fonctions manquent ou sont peu pratiques :

- le rebase interactif avec toutes les actions, `git bisect`, `git reflog`, `git worktree` ;
- plusieurs entrées de stash, les sous-modules, le paramétrage fin des remotes ;
- le travail sur un serveur en SSH et l'automatisation dans des scripts et la CI ;
- Linux, pour lequel il n'existe pas de version officielle.

De plus, les entretiens d'embauche portent précisément sur les commandes, et comprendre ce que font `fetch`, `merge` et `rebase` aide aussi avec l'interface graphique. Une approche pragmatique consiste à maîtriser la ligne de commande et à utiliser l'application là où elle fait gagner du temps : pour consulter des diffs, faire des commits partiels et résoudre des conflits. Depuis GitHub Desktop, le terminal s'ouvre via le menu Repository, directement dans le dossier du projet.

## Conclusion

GitHub Desktop est un moyen simple et gratuit de travailler avec Git sous Windows et macOS : téléchargez-le sur desktop.github.com, connectez-vous à votre compte, clonez le dépôt, et les commits, push, pull, branches et conflits se font par boutons. Pour le stash, LFS et le reset, les possibilités sont limitées, et les opérations complexes restent du ressort du terminal. Les dépôts distants, push, pull et le travail d'équipe avec les pull requests sont traités en pratique dans le cours sur Git.

## FAQ

**GitHub Desktop est-il gratuit ?**

Oui, l'application est entièrement gratuite et distribuée en open source ; seuls les abonnements payants de GitHub lui-même coûtent de l'argent, si vous en avez besoin.

**Faut-il installer Git séparément pour utiliser GitHub Desktop ?**

Non, l'application embarque sa propre version de Git. Si vous voulez aussi travailler dans le terminal, installez Git séparément sur votre système.

**Peut-on utiliser GitHub Desktop avec GitLab ou Bitbucket ?**

Oui, un dépôt se clone à partir de son adresse HTTPS dans l'onglet URL. En revanche, l'intégration des pull requests et la connexion via le compte ne fonctionnent qu'avec GitHub.

**GitHub Desktop existe-t-il en français ?**

Il n'existe pas d'interface française officielle, l'application est en anglais. Les libellés sont courts et correspondent aux commandes Git, ce qui facilite la prise en main.

**Pourquoi GitHub Desktop ne détecte-t-il pas les modifications d'un fichier ?**

Le plus souvent, le fichier correspond à une règle du .gitignore ou un autre dossier du dépôt est ouvert. Vérifiez le chemin dans le menu Current repository et le contenu du .gitignore.


---
Source: Skillaria.Top (https://skillaria.top)
