technique:git

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:git [2020/12/10 23:17] Alpinux - Cedric A5Ltechnique:git [2020/12/12 21:40] (Version actuelle) – [Pour démarrer] Alpinux - Cedric A5L
Ligne 1: Ligne 1:
 +====== 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 :
 +  * ''jlord''
 +  * ''jlord@exemple.com''
 +<code>
 +git config --global user.name "jlord"
 +git config --global user.email "jlord@exemple.com"
 +</code>
 +
 +
 +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"
 +
 +
 +Ensuite, renseigner les informations dans le projet en cours.
 +
 +<code>
 +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
 +</code>
 +
 +Enfin étant donné que nous utilisons une clé spécifique, nous la renseignons dans ''.shh/config''
 +<code>
 +# Git Account Identity
 +Host <jlord.github.com>
 +  Hostname github.com
 +  PreferredAuthentications publickey
 +  IdentityFile ~/.ssh/cle-pour-git
 +</code>
 +
 +
 +===== Cas pratique : récupérer un site =====
 +
 +
 +Simon nous propose une utilisation avec la modification d'un site depuis son ordinateur.
 +
 +----
 +
 +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. Un commit est créé à chaque fois qu'une fonctionnalité est implémentée et fonctionnelle.
 +
 +Dans l'idéal, il faut utiliser des branches pour séparer des "objectifs". Par exemple, si je veux mettre à jour l'apparence de mon site fait en PHP/HTML/CSS, je vais créer une branche "moderniser-apparence". Dans cette branche, je vais faire des **commits** des modifications de mes fichiers HTML/CSS. Un **commit** pour mettre à jour la barre de navigation, un pour mettre à jour la disposition des éléments... \\
 +Une fois que nous sommes satisfait de notre mise à jour, on **merge** (=fusionne) notre branche avec la branche principale, appelée **main** ou **master**.
 +
 +Voici un exemple d'arbre du projet PHP : 
 +
 +{{:technique:2020-12-10_18_24_12.png?400|https://github.com/php/php-src/network}}
 + 
 +Ici, je ne parlerais pas des branches que je ne connais pas suffisamment. Nous feront donc nos **commits** sur la branche main.
 +
 +Voici les étapes :
 +
 +**1. Cloner un dépôt dans un nouveau répertoire**
 +
 +Le clonage d'un dépôt dans un sous-dossier 
 +  git clone https://github.com/jlord/hello-world.git
 +
 +ou lorsque vous avez SSH de fonctionnel :
 +  git clone git@github.com:jlord/hello-world.git
 +  
 +Ces deux exemples créeront un dossier ''hello-world'' à l'endroit de votre dossier de travail.
 +
 +  cd hello-world
 +
 +**2. Modifier les fichiers**
 +
 +Avec votre éditeur préféré (vim, vi, emacs, nano, gedit, eclipse, vs code, vscodium, sublim text ...) modifiez les fichiers à votre convenance.
 +
 +**3. Montrer le statut de l’arbre de travail**
 +
 +Une fois satisfait de vos changements, regardez les modifications des fichiers que vous voulez commit :
 +
 +  git status
 +
 +**4. Mettre à jour l'index**
 +
 +Pour désigner les fichiers qui vont faire partie de votre mise à jour
 +  git add FICHIER1[, FICHIER2...]
 +
 +Ou pour tous les fichiers changés :
 +  git add .
 +
 +**5. Enregistrer les modifications dans le dépôt**
 +
 +Pour enregistrer vos modifications avec une description courte.
 +
 +  git commit -m "modif NAVBAR"
 +
 +
 +**6. Met à jour les références distantes**
 +
 +Une fois tout vos changements effectués, on les **push**(= téléverser / upload).
 +
 +Pour le premier téléversement :
 +  git push -u origin master
 +  
 +Les fois suivantes :
 +  git push
 +
 +''master'' représente le nom de la branche principale. 
 +
 + --- //[[user:Alpinux - Simon L5D]] 2020/12/10 19:38//