alpinux-wiki/docs/technique/git.md

69 lines
1.9 KiB
Markdown

# 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 <jlord.github.com>
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*