Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
atelier:git-df:git-df [27/10/2012 22:20] smolski |
atelier:git-df:git-df [27/05/2018 20:48] (Version actuelle) captnfab [Initialisation] |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
* Commentaires : // Ce tuto est destiné essentiellement aux participants des projets df via le dépôt git installé sur le serveur df. // | * Commentaires : // Ce tuto est destiné essentiellement aux participants des projets df via le dépôt git installé sur le serveur df. // | ||
* Débutant, à savoir : | * Débutant, à savoir : | ||
- | [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) |
===== Installation ===== | ===== Installation ===== | ||
Ligne 15: | Ligne 15: | ||
Mettre son système à jour : | Mettre son système à jour : | ||
- | <code bash> | + | <code root> |
- | aptitude update | + | apt-get update |
- | aptitude safe-upgrade</code> | + | apt-get upgrade</code> |
Installer git-core : | Installer git-core : | ||
- | <code bash> | + | <code root> |
- | aptitude install git-core</code> | + | apt-get install git-core</code> |
<note tip>Tout le reste du tuto se passe en terminal //utilisateur// sauf indication contraire.</note> | <note tip>Tout le reste du tuto se passe en terminal //utilisateur// sauf indication contraire.</note> | ||
Ligne 28: | Ligne 28: | ||
Tapez : | Tapez : | ||
- | <code bash> | + | <code user> |
git config --global user.name "votre pseudo du forum" Majuscules ou espace autorisés. | git config --global user.name "votre pseudo du forum" Majuscules ou espace autorisés. | ||
git config --global user.email "votre@mail.com" | git config --global user.email "votre@mail.com" | ||
git config --global color.ui true | git config --global color.ui true | ||
+ | git config --global core.quotePath false | ||
</code> | </code> | ||
Ligne 43: | Ligne 44: | ||
===== Clé SSH ===== | ===== Clé SSH ===== | ||
- | Créer une paire de clés ssh(([[config:ssh | Configurer ssh]])). | + | ==== Créer les clés sh ==== |
- | <note>nom_ou_pseudo = Votre nom ou votre pseudo, sans espace ni accent et en minuscule((En principe vous avez le droit. mais notre tuto et pour éviter les erreurs, on adoptera cette convention)) !</note> | + | |
- | <code bash>ssh-keygen -f ~/.ssh/df-git-nom_ou_pseudo</code> | + | Créer une paire de clés ssh(([[:doc:reseau:ssh | Configurer ssh]])). |
+ | <note>nom_ou_pseudo = Votre nom ou votre pseudo, sans espace ni accent et en minuscule((En principe vous avez le droit mais, dans notre tuto et pour éviter les erreurs, on adoptera cette convention)) !</note> | ||
+ | |||
+ | <code user>ssh-keygen -f ~/.ssh/df-git-nom_ou_pseudo</code> | ||
<note>Il vous sera demandé si vous voulez ajouter une passphrase, à vous de voir si cela vous paraît nécessaire... Notez que si vous en saisissez une, il vous faudra la retaper à chaque nouvelle session de votre pc avant d'utiliser les dépôts.</note> | <note>Il vous sera demandé si vous voulez ajouter une passphrase, à vous de voir si cela vous paraît nécessaire... Notez que si vous en saisissez une, il vous faudra la retaper à chaque nouvelle session de votre pc avant d'utiliser les dépôts.</note> | ||
- | Ce qui donnera au final dans le répertoire ~/.ssh : | + | Ce qui donnera au final dans le répertoire ''~/.ssh'' : |
- un fichier de clé privée((df-git-nom_ou_pseudo)) | - un fichier de clé privée((df-git-nom_ou_pseudo)) | ||
- et un de clé publique((df-git-nom_ou_pseudo.pub)) | - et un de clé publique((df-git-nom_ou_pseudo.pub)) | ||
Vérifiez : | Vérifiez : | ||
- | <code bash> | + | <code user> |
- | ls ~/.ssh | + | ls ~/.ssh</code> |
- | df-git-nom_ou_pseudo df-git-nom_ou_pseudo.pub</code> | + | <code>df-git-nom_ou_pseudo df-git-nom_ou_pseudo.pub</code> |
- | Il vous faudra communiquer au captnfab __le fichier de la clé publique__((ou son contenu)) **df-git-nom_ou_pseudo.pub**, par email ou depuis le forum df par mp par exemple... | + | ==== Communiquez la clé publique ==== |
+ | |||
+ | Il vous faudra communiquer au [[http://debian-facile.org/profile.php?id=302] | captnfab ]] __le fichier de la clé publique__((ou son contenu)) **df-git-nom_ou_pseudo.pub**, par email ou depuis le forum df par mp par exemple... | ||
<note tip>Cette clé publique n'est pas confidentielle. Elle permet simplement au serveur de vérifier que c'est bien vous qui vous connectez avec votre clé privée !</note> | <note tip>Cette clé publique n'est pas confidentielle. Elle permet simplement au serveur de vérifier que c'est bien vous qui vous connectez avec votre clé privée !</note> | ||
- | En réponse, vous recevrez de ce cher matelot une configuration à mettre dans le fichier //~/.ssh/config//, fichier à créer(([[commande:mkdir]])) s'il n'y est pas : | + | Éditez ensuite le fichier ''~/.ssh/config'', à créer s'il n'existe pas. |
- | ~/.ssh/config | + | Rajouter dans ce dernier le bloc de lignes que vous aura envoyé le captnfab en réponse à votre message. |
+ | |||
+ | ==== Créez le répertoire contenant vos git-projets-df ==== | ||
- | Ensuite, créez un répertoire dans votre ///home/user// (c'est le lieu le plus simple) qui vous servira de répertoire où faire transiter vos travaux git mis en commun sur le git-df. \\ | + | Ensuite, créez un répertoire dans votre ''/home/user'' (c'est le lieu le plus simple) qui vous servira de répertoire où faire transiter vos travaux git mis en commun sur le git-df. \\ |
- | Par exemple : | + | Par exemple nommé //projets-df// : |
- | <code bash> | + | <code user> |
mkdir ~/projets-df</code> | mkdir ~/projets-df</code> | ||
Ligne 74: | Ligne 81: | ||
Si vous avez créé une passphrase tapez : | Si vous avez créé une passphrase tapez : | ||
- | <code bash> | + | <code user> |
- | ssh-add ~/.ssh/df-git-nom_ou_pseudo</code> | + | ssh-add ~/.ssh/df-git-votre_pseudo</code> |
Cette ligne ajoute la passphrase en mémoire en la donnant à ssh-agent. ;-) | Cette ligne ajoute la passphrase en mémoire en la donnant à ssh-agent. ;-) | ||
Ligne 81: | Ligne 88: | ||
===== Cloner un projet déjà en cours ===== | ===== Cloner un projet déjà en cours ===== | ||
- | <note tip>À l'intention des sombres personnes qui gisent habituellement au fond des classes près des radiateurs, précisons bien ici que git ne vous transite pas vous vers le serveur, mais transitent uniquement les données échangées entre votre pc vers le serveur git distant, et vice et versa. //Qu'on se le dise// ! :-P</note> | + | <note tip>À l'intention des sombres personnes qui gisent habituellement au fond des classes près des radiateurs, précisons bien ici que git ne vous transite pas vous vers le serveur, mais transitent uniquement les données échangées entre votre pc vers le serveur git distant, et vice et versa. //Qu'on se le dise// ! :-P (ce que jojo veux dire, c'est que vous n'avez pas de shell sur le serveur)</note> |
+ | |||
+ | Afin de connaître la liste des dépôts auxquels vous avez accès en lecture ou en écriture, tapez la commande suivante : | ||
+ | <code user>ssh -T df-git</code> | ||
+ | <code>hello contributeur, the gitolite version here is 2.0.3 | ||
+ | the gitolite config gives you the following access: | ||
+ | @R_ @W_ bac-a-sable | ||
+ | @R W docs/ebook-facile | ||
+ | @R outils/live-df | ||
+ | @R W tutos/latex/pour-commencer | ||
+ | @R tutos/systeme/c-shell | ||
+ | </code> | ||
+ | Dans cet exemple, l'utilisateur "contributeur" a accès en écriture aux dépôts ''bac-a-sable'' (un dépôt pour faire des tests si vous n'êtes pas familiers avec git), ''docs/ebook-facile'', le dépôt pour le projet ebook et ''tutos/latex/pour-commencer''. Il n'a qu'un accès en lecture aux deux autres projets. | ||
+ | |||
+ | <note info>En tant que contributeur, vous avez accès en lecture/écriture aux projets auxquels vous participez, et en lecture seule aux autres projets. | ||
+ | Il est en projet de faire en sorte que les non-contributeurs aient un accès web en lecture seule à tous les projets.</note> | ||
Se placer dans ce répertoire créé pour git : | Se placer dans ce répertoire créé pour git : | ||
- | <code bash> | + | <code user> |
cd ~/projets-df</code> | cd ~/projets-df</code> | ||
Demander le téléchargement du répertoire du projet par clonage ainsi : | Demander le téléchargement du répertoire du projet par clonage ainsi : | ||
- | <code bash> | + | <code user> |
- | git clone df-git-nom_ou_pseudo:le_projet_commun</code> | + | git clone df-git:le_projet_commun</code> |
Vous aurez à disposition personnelle ce répertoire et tout ce qu'il contient mis dans le répertoire git d'où vous avez lancé la commande : | Vous aurez à disposition personnelle ce répertoire et tout ce qu'il contient mis dans le répertoire git d'où vous avez lancé la commande : | ||
Ligne 96: | Ligne 118: | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Si vous préférez voir un cas typique d'utilisation avant de lire la liste des commandes, le TP1 s'y prête bien : | + | Si vous préférez voir un cas typique d'utilisation avant de lire la liste des commandes, le TP1 suivant s'y prête bien : |
- | * [[manuel:git-df:TP_basique|TP 1 : Exemple d'utilisation basique]] | + | * [[:atelier:git-df:tp-basique|TP 1 : Exemple d'utilisation basique]] |
Ligne 103: | Ligne 125: | ||
Placez-vous dans le répertoire cloné du //fichier_travail// | Placez-vous dans le répertoire cloné du //fichier_travail// | ||
- | <code bash> | + | <code user> |
cd ~/projets-df/le_projet_commun/</code> | cd ~/projets-df/le_projet_commun/</code> | ||
Vous pouvez modifier ou compléter le fichier_travail, par exemple avec vim : | Vous pouvez modifier ou compléter le fichier_travail, par exemple avec vim : | ||
- | <code bash> | + | <code user> |
vim fichier_travail</code> | vim fichier_travail</code> | ||
Ligne 114: | Ligne 136: | ||
=== add === | === add === | ||
- | <code bash> | + | <code user> |
git add fichier_travail</code> | git add fichier_travail</code> | ||
Ligne 121: | Ligne 143: | ||
Vous le commitez : | Vous le commitez : | ||
- | <code bash> | + | <code user> |
git commit -a</code> | git commit -a</code> | ||
Ligne 157: | Ligne 179: | ||
Vous le poussez vers le git-df : | Vous le poussez vers le git-df : | ||
- | <code bash> | + | <code user> |
git push</code> | git push</code> | ||
Ligne 175: | Ligne 197: | ||
Plus tard, pour le tirer de nouveau vers vous avec toutes les interventions ajoutées : | Plus tard, pour le tirer de nouveau vers vous avec toutes les interventions ajoutées : | ||
- | <code bash> | + | <code user> |
git pull</code> | git pull</code> | ||
//Et ainsi de suite...// | //Et ainsi de suite...// | ||
+ | |||
+ | ==== Glossaire ==== | ||
+ | |||
+ | - commit : Dans un gestionnaire de suivi de version comme git, chaque contributeur, après avoir apporté des modifications de son côté, peut les ajouter au projet principal. Cela s'appelle faire un commit. Le gestionnaire de version permet, en cas de problème, de chercher parmis tous les commit la modification qui posait problème. | ||
+ | - add : Cela sert à ajouter un nouveau fichier au dépot. Ce n'est pas une simple modification d'un fichier déja existant, comme avec commit. | ||
+ | - push : (pousser) Cela sert à envoyer les modifications que vous avez apporté (les commits) sur le dépot principal. En cas de conflit avec des modifications d'un autre utilisateur, vous pouvez les résoudre à la main | ||
+ | - pull : Cela vous permet d'être à jour avec le dépot, et les modifications apportées par les autres. | ||
===== Création projet ===== | ===== Création projet ===== | ||
Ligne 185: | Ligne 214: | ||
===== TP ===== | ===== TP ===== | ||
- | - [[manuel:git-df:TP_basique|TP 1 : Exemple d'utilisation basique]] | + | - [[:atelier:git-df:tp-basique|TP 1 : Exemple d'utilisation basique]] |
- | - [[manuel:git-df:TP_merge|TP 2 : Résoudre des conflits]] | + | - [[:atelier:git-df:tp-merge|TP 2 : Résoudre des conflits]] |
- | ===== Glossaire ===== | ||
- | |||
- | - commit : Dans un gestionnaire de suivi de version comme git, chaque contributeur, après avoir apporté des modifications de son côté, peut les ajouter au projet principal. Cela s'appelle faire un commit. Le gestionnaire de version permet, en cas de problème, de chercher parmis tous les commit la modification qui posait problème. | ||
- | - add : Cela sert à ajouter un nouveau fichier au dépot. Ce n'est pas une simple modification d'un fichier déja existant, comme avec commit. | ||
- | - push : (pousser) Cela sert à envoyer les modifications que vous avez apporté (les commits) sur le dépot principal. En cas de conflit avec des modifications d'un autre utilisateur, vous pouvez les résoudre à la main | ||
- | - pull : Cela vous permet d'être à jour avec le dépot, et les modifications apportées par les autres. | ||
===== Lien et remerciement ===== | ===== Lien et remerciement ===== |