Commandes git utiles pour gérer YesWiki

Attention, cette page peut occasionner de lourds maux de têtes et n'a d'intérêt que pour les développeurs
Sur git, on a découpé YesWiki en plusieurs dépôts.
La version stable et la version dev (déclinée pour chaque version de YesWiki)
On en est à cercopitheque et cercopitheque_dev actuellement

1. Créer un compte sur GitHub et être membre du dépôt .
2. Cloner le dépôt de YesWiki
2.1. Choisir « Cloner avec SSH » (bouton vert en haut à droite ;
2.2. Copier l'adresse qui apparaît (on obtient une adresse).
3. Créer une clé SSH (à faire une fois) voir aide : https://help.github.com/articles/which-remote-url-should-i-use/.
3.1. Commandes de création de la clé voir aide : https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
ssh-keygen -t rsa -b 4096 -C "monmail@domaine.ext"

3.2. Laisser le choix par defaut pour le chemin de la clé
3.3. Choisir sa passphrase ou laisser vide si on veut aller vite mais moins sécure
4. Ajouter la clé au compte GitHub, voir aide : https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/
4.1. On copie colle la clé ~/.ssh/id_rsa.pub dans son profil GitHub (menu user de droite dans GitHub, setting)
5. Tester si la connexion marche avec GitHub et la clé ssh
ssh -T git@github.com

6. Cloner le dépôt GitHub sur sa machine
git clone git@github.com:YesWiki/yeswiki.git mondossierwiki

7. changer de branche pour aller sur le branche de développement (pour éviter de modifier la branche en production).
git checkout cercopitheque_dev


Quelques commandes en plus

Se placer dans le dossier locall avant de taper les commandes git
pour connaitre le nom des branches existantes
git branch -a

vérifier si il existe des différences entre notre version locale et le dépôt GitHub
git status

voir les différences entre la version locale et le dépôt GitHub
git diff nomdufichier

Pour ajouter les modifs dans les commit à venir (genre dans une liste d'attente chez nous)
git add nom_du_fichier ou nom_du_répertoire

Sinon, on git peut prendre en compte tous les fichiers
git add -A

Pour demander la suppression d'un fichier (équivalent du add mais pour supprimer un fichier)
git rm nom_du_fichier

Enregistrer ce qu'on a pointé dans le dépôt local dans les add ou rm
git commit

=> invite à saisir un message
Envoyer les modifs sur le serveur le dépôt GitHub
push

récupérer la dernière version du serveur
git pull

Bonnes pratiques

Avant de modifier quelque chose, je récupère l'état de l'origine en faisant
git fetch origin

ou, pour voir les différences
git status

on fait des changements sur notre PC
puis commit
puis push pour partager les changements - GIT signale si il y a un conflit

Remarques

Pour travailler en lignes de commande sur windows installer Git Bash ( https://gitforwindows.org/ )
Éditeurs de texte : Atom ou visual studio