Utiliser git
============
Git sert à versionner des fichiers, tels que du code, des présentations, etc…
Tous les dépôts git utilisés par hackEns sont sur le [serveur git](https://git.eleves.ens.fr/groups/hackens) des élèves de l'ENS. Plusieurs ont un miroir sur GitHub pour faciliter leur diffusion.
Création d'un nouveau dépôt
---------------------------
Lorsqu'on crée un nouveau dépôt, il faut mettre les différents webhook qu'on utilise :
* http://gha.hackens.org : pour les "Push Events", cela permet d'afficher sur IRC les commits qui sont fait dans le dépôt.
* http://sync.hackens.org/hackEns : pour les "Push Events", cela synchronise le dépôt avec le dépôt sur GitHub. Il doit être créé manuellement sur GitHub. S'il ne porte pas le même nom, on peut le préciser pour forcer le serveur à synchroniser les bons dépôts (exemple : http://sync.hackens.org/hackEns/syncgitlabhub). Attention, actuellement seule la branche master est synchronisée.
Cloner un dépôt
---------------
En cave, tous les clone/push se font en https, ceci pour éviter d'avoir des problèmes avec les clés ssh. Attention, il faut remettre un mot de passe sur git.eleves, celui du CAS n'y est pas copié (le serveur git n'ayant pas accès aux mots de passe directement).
À l'extérieur de la cave, il est plus simple d'avoir une clé ssh enregistrée sur son [profil du serveur git](https://git.eleves.ens.fr/profile).
Unable to access: server certificate verification failed
--------------------------------------------------------
Cette erreur est dû au certificat de git.eleves, qui n'est pas accepté par défaut partout.
Obtenir le certificat :
openssl s_client -connect git.eleves.ens.fr:443 > git.eleves.cert.pem
Maintenant, ouvrir cert.pem, et supprimer ce qui est à l'extérieur de BEGIN CERTIFICATE/END CERTIFICATE (mais laisser ces deux lignes).
Enfin, le faire reconnaître par git :
git config --global http.sslCAInfo /path/to/cert/git.eleves.cert.pem