Outils pour utilisateurs

Outils du site


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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
git [2016/03/24 12:43] – [Liste des dépôts] cecilegit [2017/01/29 13:21] capslock
Ligne 3: Ligne 3:
 ===== Qu'est-ce que « Git » ? ===== ===== Qu'est-ce que « Git » ? =====
  
-À écrireNotions de //dépôt// et éventuellement de //branche//Vocabulaire comme //commit////push//, ... Un mot sur l'authentification.+Git est un programme informatique permettant de garder un historique de différentes versions d'un fichier ou d'un dossier. 
 + 
 +Avec Git, vous pouvez donc remonter dans le temps et retrouver un document dans un état précédent. 
 + 
 +Git est un programme que vous installez sur votre machine. Il est possible de synchroniser votre copie locale de vos fichiers dossiers avec un serveur distant. 
 + 
 +Quand vous versionnez un dossier, celui-ci devient un "dépôt git". Pour parler d'un dépôt hébergé sur un serveur on parle alors de "dépôt distant". 
 + 
 +Plusieurs utilisateurs peuvent utiliser le même serveur Git. Il est possible de travailler en même temps que quelqu'un d'autre sur un même projet. 
 + 
 +Chaque utilisateur d'un dépôt Git dispose d'une copie locale du projet : ainsisi le serveur tombeles différents utilisateurs peuvent reconstruire le dépôt distant avec les dernières sauvegardes ("commits") dont ils disposent. 
 + 
 +La communication entre un dépôt Git distant et votre machine peut passer par différents protocolesLe plus commun est SSHC'est pour cela qu'il vous faut avoir une paire de clés SSH pour récupérer un dépôt (on parle alors de "cloner" un dépôt), mettre à jour un dépôt (on parle de "push") ou encore pour récupérer la dernière mise à jour (on parle de "pull").
  
 ===== L'intérêt de s'en servir ===== ===== L'intérêt de s'en servir =====
Ligne 19: Ligne 31:
 ===== Liste des dépôts ===== ===== Liste des dépôts =====
  
-^ Nom du dépôt      ^ Description       ^ Conditions d'accès ^ +Les dépôts sont gérés par [[gitlab|Gitlab]].
-|membres| Dépôt dédié aux membres et aux documents sur la vie de l'association : Comptes-rendus de réunion, d'assemblée générale, etc.| Accès réservé aux membres| +
-|graphisme| Dépôt dédié aux documents graphiques : logos, flyer, templates, etc.| Accès libre| +
-|sdtan| Dépôt dédié au projet sur le SDTAN (schémas directeurs territoriaux d'aménagement numérique)| Accès libre| +
-|adminsys| Dépôt dédié au groupe de travail adminsys| Accès réservé | +
-|site-pelican| Dépôt dédié à notre site Internet  - Techno : Pelican| Accès libre| +
-|si| Dépôt dédié à notre SI : Coin - Techno : Django| Accès réservé|+
  
-**TODO : compléter avec les dépôts restants** +Voici les principaux dépôts utilisés par l'association :
-===== Comment accéder aux dépôts de FAImaison ? =====+
  
-Reprendre des infos ci-dessousreformuler version user-friendlyAjouter quelques noms de logiciels  avec interface graphique.+^ Nom du dépôt      ^ Description                                            ^ Conditions d'accès ^ 
 +|membres            | Dépôt dédié aux membres et aux documents sur la vie de l'association : Comptes-rendus de réuniond'assemblée générale, etc.| Accès réservé aux membres                                    | 
 +|graphisme          | Dépôt dédié aux documents graphiques : logos, flyer, templates, etc.| Accès libre| 
 +|sdtan              | Dépôt dédié au projet sur le SDTAN (schémas directeurs territoriaux d'aménagement numérique)| Accès libre| 
 +|adminsys           | Dépôt dédié au groupe de travail adminsys              | Accès réservé | 
 +|site-pelican       | Dépôt dédié à notre site Internet  - Techno : Pelican  | Accès libre| 
 +|si                 | Dépôt dédié à notre SI : Coin - Techno : Django        | Accès réservé|
  
-===== Serveurs git =====+Par ailleurs les groupes Gitlab suivants sont définis :
  
-Voir page [[backup#depot git|backups]].+^ Nom du dépôt        ^ Description                            ^ Conditions d'accès                                            ^ 
 +|faimaison-adminsys   | projets utilisés par les adminsys      | lecture = membres ; contribution = adminsys                   | 
 +|faimaison-bureau     | projets utilisés par le bureau         | lecture = membres du bureau ; contribution = membres du bureau| 
 +|faimaison-membres    | projets utilisés par les membres       | lecture = membres de faimaison ; contribution = membres de faimaison | 
 +|faimaison-public     | projets publics                        | lecture = tout le monde ; contribution = membres de faimaison |
  
-Le service git est accessible via SSH (voir [[#methodes_d_acces|ci-dessous]] pour les autres méthodes d'accès) : +Pour contribuer il vous faut un accès.
-  * ''faimaison-git@git.faimaison.net'' (maître) +
-  * ''faimaison-git@git-slave.faimaison.net'' (esclave)+
  
 +===== Comment accéder aux dépôts de FAImaison ? =====
  
-^ Machine               ^ Nom               ^ Contact ^ SSH (utilisateur) ^ Gitweb ^ git-daemon ^ +Rendez-vous sur la page dédiée à [[gitlab|Gitlab]]
-chomsky.autogeree.net | git-slave.faimaison.net | jca+fma@wxcvbn.org | Oui (faimaison-git) | Oui    | Oui | +
-| trompe-souris.faimaison.net| git.faimaison.net | adminsys@faimaison.net | Oui (faimaison-git) | TODO    | Oui | +
-===== Méthodes d'accès =====+
  
-Le dépôt git de FAImaison est accessible par les moyens suivants :+===== Serveurs git =====
  
-  * **[[#git-daemon|git-daemon]]** (lecture uniquement) +Voir page [[backup#depot git|backups]].
-  * **[[#gitweb|gitweb]]** (lecture uniquement) +
-  * **[[#utilisation_en_lecture_ecriture|gitolite]]** //via// ssh (lecture/écriture avec contrôle d'accès)+
  
  
-==== Utilisation en lecture seule ==== +Le service git est accessible via SSH (voir [[#methodes_d_acces|ci-dessous]] pour les autres méthodes d'accès:
- +
-Ces méthodes d'accès ne demandant aucune authentification, certains dépôts ne sont pas accessibles par ce biais. +
- +
-=== git-daemon === +
- +
-Il est possible de cloner n'importe quel dépôt accessible en lecture : +
- +
-  git clone git://git.faimaison.net/testing +
- +
-Pour obtenir la liste des dépôts disponibles, il faut passer par gitolite ou gitweb. +
- +
-=== gitweb === +
- +
-Accessible sur http://git.faimaison.net (redirection "temporaire").+
  
 +^ Machine               ^ Nom                     ^ Role      ^ Contact                ^ utilisateur SSH     ^ Soft       ^
 +| riboul.faimaison.net  | git.faimaison.net       | Maître    | adminsys@faimaison.net | git                 | gitlab     |
 +| chomsky.autogeree.net | git-slave.faimaison.net | Esclave   | jca+fma@wxcvbn.org     | faimaison-git       | git-daemon |
  
 ==== Utilisation en lecture/écriture ==== ==== Utilisation en lecture/écriture ====
  
 +Les dépôts publics
 === Authentification === === Authentification ===
  
-Toute l'authentification passe par SSH//gitolite// ne s'occupe que des aspects liés à git.+Les comptes sont gérés par Gitlab. 
 + 
 +Pour contribuervous avez deux possibilités : 
 +* Utiliser l'interface Web de Gitlab 
 +* Utiliser vos outils, sur votre ordinateurDans ce cas, il vous faut une clé SSH pour contribuer (voir ci-dessous)
  
 == Générer sa paire de clés SSH == == Générer sa paire de clés SSH ==
Ligne 91: Ligne 94:
 Ceci a pour but d'empêcher un tiers d'utiliser votre clé (il lui faudra connaître votre passphrase). Ceci a pour but d'empêcher un tiers d'utiliser votre clé (il lui faudra connaître votre passphrase).
  
-== Envoyer sa clé publique ==+Dès que vous avez votre paire de clé, il suffit d'ajouter votre clé **publique** (contenue dans le fichier terminant par .pub) dans votre compte Gitlab.
  
-Pour avoir accès au dépôt git, il faut envoyer la clé publique générée (''~/.ssh/faimaison.pub''), avec le nom d'utilisateur souhaité, aux administrateurs de gitolite à l'adresse ''git (chez) faimaison.net''.+== Authentification à deux facteurs ==
  
-Les administrateurs doivent pouvoir vérifier votre identitéce qui se fait principalement par deux biais  +Pour protéger votre compte Gitlabvous pouvez activer l'authentification à 2 facteurs (2FA ; accessible dans les [[https://git.faimaison.net/profile/account|paramètres de votre compte]]).
-  * soit **en signant votre mail avec GPG**Çela suppose qu'au moins un des membres de l'association ait signé votre clé GPG (pour qu'on puisse vérifier votre identité)+
-  * soit on vient à une réunion avec sa clé publique SSH sur une clé USB+
  
-:!: Si vous envoyez votre clé publique par mailfaites le avec une **pièce jointe**. +Quand l'authentification à 2 facteurs est activée pour votre compte Gitlabvous devrez entrer les informations suivantes pour vous connecter :  
-En effet copier/coller une clé est le meilleur moyen de la retrouver en morceaux.+ 
 +  votre nom d'utilisateur 
 +  votre mot de passe 
 +  un code à usage unique donné par l'application dont on parle ci-dessous 
 + 
 +Pour obtenir un code à usage unique, il vous faut une application compatible "Google Authenticator", il en existe des libres comme [[https://f-droid.org/repository/browse/?fdfilter=freeotp&fdid=org.fedorahosted.freeotp|FreeOTP]]
  
 === Utilisation === === Utilisation ===
  
-Fonctionnement : tout se fait en ssh en passant par //gitolite//. Si on essaie de se connecter directement : 
  
-  ssh -i ~/.ssh/faimaison faimaison-git@git.faimaison.net info+== Par l'interface Web de Gitlab ==
  
-on a la liste des dépôts accessibles en lecture et/ou écriture.+== Via vos outils Git installés sur votre machine == 
 + 
 +Fonctionnement : tout se fait en ssh. Si on essaie de se connecter directement : 
 + 
 +  ssh -i ~/.ssh/faimaison git@git.faimaison.net 
 +   
 +On obtient un message de bienvenue : 
 + 
 +  PTY allocation request failed on channel 0 
 +  Welcome to GitLab, CapsLock! 
 +  Connection to git.faimaison.net closed.
  
 Pour dire à ssh de toujours utiliser cette clé et cet utilisateur (et donc pour simplifier la vie à git), on peut mettre quelque chose du genre dans son fichier ''~/.ssh/config'' : Pour dire à ssh de toujours utiliser cette clé et cet utilisateur (et donc pour simplifier la vie à git), on peut mettre quelque chose du genre dans son fichier ''~/.ssh/config'' :
Ligne 120: Ligne 135:
 Ensuite, il suffit de cloner comme d'habitude : Ensuite, il suffit de cloner comme d'habitude :
  
-  git clone git.faimaison.net:testing+  git clone git@gitlab.faimaison.net:faimaison-membres/membres.git 
 +   
 +Pour trouver l'adresse du dépot, il suffit d'aller sur la page du dépôt (exemple https://gitlab.faimaison.net/faimaison-membres/membres) et de la récupérer ici :
  
-Noter qu'en l'absence de précision du protocole (e.g. ''%%git://git.faimaison.net%%'' ou ''%%ssh://git.faimaison.net%%''), //git// utilise //ssh//.+{{ ::depot.png?direct&500 |}}
  
 === Création d'un nouveau dépôt === === Création d'un nouveau dépôt ===
  
-Pour créer un nouveau dépôt, il faut contacter les administrateurs (voir adresse email ci-dessus). +Pour créer un nouveau dépôt, vous pouvez-le faire via l'interface Web de [[gitlab|Gitlab]]
- +
-=== Mise à jour du dépôt distant === +
- +
-Une fois que votre nouveau dépôt a été créé, pour y pousser votre travail local, il faut commencer par renseigner son URL : +
- +
-  git remote add origin git.faimaison.net:mon_beau_depot +
-   +
-En d'envoyer le tout : +
- +
-  git push --set-upstream origin master +
- +
- +
-Par la suite, un simple ''git push'' suffit. +
- +
-Et pour récupérer le travail de vos camarades : +
- +
-  git pull +
-==== Recevoir les notifications ==== +
- +
-Dès que des commits sont poussés sur le serveur, un mail de notification est envoyé sur une liste de diffusion dédiée (''notifications-git@faimaison.net''). Pour recevoir ces notifications, envoyez votre demande aux administrateurs à ''adminsys@faimaison.net''.+
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
git.txt · Dernière modification : 2022/08/25 20:21 de gilou