# Git/Avant de commencer

* Principes
* Apprendre à travailler avec Git
** Avant de commencer : installation et configuration de Git
** Création de votre dépôt local
** Visualiser le contenu de votre dépôt local
** Premiers pas
** Gestion des branches
** Synchroniser le dépôt local avec le dépôt distant
* Fonctionnalités avancées
** Étiquetage (tags)
** Remise (stash)
** Recombinaison (rebase)
** Sous-modules et Super-projets
** Structure interne
** Pull-request
* Recettes
** Exclure des fichiers du dépôt
** Écrire des messages de commit
* Environnement
** Intégration dans les IDEs
** Améliorer sa productivité en configurant Git
** Git sous Linux
** Git sous Windows
** Forges
*** GitLab
*** GitHub
*** Bitbucket
* Git et Subversion (svn)
** Passer de Subversion à Git
** Travailler avec Git local et un dépôt Subversion distant
** Participer au développement de Wikimédia (Gerrit)
* Problèmes connus
* Ressources externes
* Principes
* Apprendre à travailler avec Git
** Avant de commencer : installation et configuration de Git
** Création de votre dépôt local
** Visualiser le contenu de votre dépôt local
** Premiers pas
** Gestion des branches
** Synchroniser le dépôt local avec le dépôt distant
* Fonctionnalités avancées
** Étiquetage (tags)
** Remise (stash)
** Recombinaison (rebase)
** Sous-modules et Super-projets
** Structure interne
** Pull-request
* Recettes
** Exclure des fichiers du dépôt
** Écrire des messages de commit
* Environnement
** Intégration dans les IDEs
** Améliorer sa productivité en configurant Git
** Git sous Linux
** Git sous Windows
** Forges
*** GitLab
*** GitHub
*** Bitbucket
* Git et Subversion (svn)
** Passer de Subversion à Git
** Travailler avec Git local et un dépôt Subversion distant
** Participer au développement de Wikimédia (Gerrit)
* Problèmes connus
* Ressources externes
[ Modifier le sommaire ]
Cette première étape est incontournable, nous allons voir comment installer et configurer Git sur votre machine. Suivez les instructions selon votre environnement de travail.
Il est à noter que l'architecture étant décentralisée, ces installations peuvent jouer le rôle du client ou du serveur, qui utilise le port 9418 mais passe en réseau par les services qui écoutent au port 22 (SSH), 80 (HTTP) ou 433 (HTTPS).

## Installation
### Linux

Sur la plupart des distributions, vous pouvez utiliser votre gestionnaire de paquet.
Vous pouvez aussi installer git depuis les sources.

### Mac OS

Une installateur graphique est disponible sur Google. Sinon avec MacPorts lancer :

### Windows

Git pour Windows est téléchargeable sous forme de binaires précompilés sur msysGit ou encore Git Bash. Cela inclut l’utilitaire en lignes de commande, une interface graphique, et un client SSH.
De plus, le setup Cygwin le propose également.

### Intégré dans un IDE

Plusieurs environnements de développement intégré incluent déjà des clients Git complets, comme NetBeans ou PhpStorm.

## Configuration minimaliste de l'environnement

Avant d'aller plus loin, il est indispensable de configurer Git a minima.
Dans Git, les contributeurs à un projet sont identifiés par leur nom et leur adresse courriel, il faut donc fournir à Git ces deux informations.
Pour voir la configuration :

## Éviter de retaper son mot de passe

Git propose un mécanisme pour stocker temporairement votre mot de passe en mémoire et ainsi vous éviter d'avoir à le retaper à chaque push, pull ou toute opération impliquant un repo distant.
Si cela ne fonctionne pas après l'avoir retapé au moins une fois sur Linux, compléter le fichier suivant :
En ajoutant le nom du serveur. Exemple :
Depuis septembre 2021, GitHub n'accepte plus les mots de passe mais demande à la place un token généré sur https://github.com/settings/tokens.
Si cela ne fonctionne toujours pas, vérifier que vous êtes dans le répertoire racine du projet, et que votre fichier .git/config est de la forme :

## Obtenir de l'aide

Git gère très bien l'auto-complétion. Au fur et à mesure que vous saisissez vos commandes, utilisez la touche tabulation ↹ pour que git vous propose des options.
À tout moment vous pouvez consulter le manuel de git avec
Pour obtenir de l'aide sur une commande en particulier, utilisez (exemple pour la commande branch)
Lorsque vous lisez des documentations, vérifiez qu'elles s'appliquent bien à la version que vous utilisez :