# GIT GIT est un outil de **gestion de versions**, un historique de modifications des fichiers. Cet outil est décentralisé et open source. ## Pour démarrer Il faut configurer son paramétrage avec un dépôt Git. Il faut remplacer les valeurs suivantes par vos valeurs : ``` git config --global user.name "jlord" git config --global user.email "jlord@exemple.com" ``` Pour un confort d'utilisation, il faut créer une clé SSH et en déposer la clé publique sur Git. ssh-keygen -t rsa -b 8192 -C "jlord@exemple.com" ``` git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/cle-pour-git -F /dev/null" git remote set-url origin git@github.com:jlord/hello-world.git ``` Dans `.ssh/config` : ``` Host Hostname github.com PreferredAuthentications publickey IdentityFile ~/.ssh/cle-pour-git ``` ## Cas pratique : récupérer un site Pour participer à un dépôt Git, il faut d'abord le **cloner** (=télécharger) en local. Un dépôt est fait de **commit**, des versions de notre code dans le temps. Dans l'idéal, il faut utiliser des branches pour séparer des "objectifs". Une fois satisfait, on **merge** (=fusionne) notre branche avec la branche principale (**main** ou **master**). ![Exemple d'arbre de commits (projet PHP)](https://static.alpinux.org/wiki/technique/2020-12-10_18_24_12.png) **1. Cloner un dépôt** ``` git clone https://github.com/jlord/hello-world.git # ou avec SSH : git clone git@github.com:jlord/hello-world.git ``` **2. Modifier les fichiers** avec votre éditeur préféré. **3. Voir les modifications** ``` git status ``` **4. Mettre à jour l'index** ``` git add FICHIER1[, FICHIER2...] # ou tous les fichiers : git add . ``` **5. Enregistrer les modifications** ``` git commit -m "modif NAVBAR" ``` **6. Pousser vers le dépôt distant** ``` # Premier push : git push -u origin master # Suivants : git push ``` --- *Simon (Alpinux) 2020/12/10*