69 lines
1.9 KiB
Markdown
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**).
|
|
|
|

|
|
|
|
**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*
|