(testé - smolski 26/10/2012) Le retour sur le forum est ici :
Utiliser GNU/Linux en ligne de commande, tout commence là !.
Terminal root :
Mettre son système à jour :
apt-get update apt-get upgrade
Installer git-core :
apt-get install git-core
Tapez :
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 color.ui true git config --global core.quotePath false
Ces commandes vont créer un fichier dans votre répertoire utilisateur qui sera utilisé par tout vos projets. Par défaut, ce fichier est ~/.gitconfig et il contiendra quelque chose comme ça :
[user] name = votre pseudo du forum email = votre@mail.com
Ce name vous servira en signature de vos interventions et dans vos tag.
Créer une paire de clés ssh1).
ssh-keygen -f ~/.ssh/df-git-nom_ou_pseudo
Ce qui donnera au final dans le répertoire ~/.ssh
:
Vérifiez :
ls ~/.ssh
df-git-nom_ou_pseudo df-git-nom_ou_pseudo.pub
Il vous faudra communiquer au captnfab le fichier de la clé publique5) df-git-nom_ou_pseudo.pub, par email ou depuis le forum df par mp par exemple…
Éditez ensuite le fichier ~/.ssh/config
, à créer s'il n'existe pas.
Rajouter dans ce dernier le bloc de lignes que vous aura envoyé le captnfab en réponse à votre message.
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 nommé projets-df :
mkdir ~/projets-df
Si vous avez créé une passphrase tapez :
ssh-add ~/.ssh/df-git-votre_pseudo
Cette ligne ajoute la passphrase en mémoire en la donnant à ssh-agent.
Afin de connaître la liste des dépôts auxquels vous avez accès en lecture ou en écriture, tapez la commande suivante :
ssh -T df-git
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
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.
Se placer dans ce répertoire créé pour git :
cd ~/projets-df
Demander le téléchargement du répertoire du projet par clonage ainsi :
git clone df-git:le_projet_commun
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 :
~/projets-df/le_projet_commun
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 :
Placez-vous dans le répertoire cloné du fichier_travail
cd ~/projets-df/le_projet_commun/
Vous pouvez modifier ou compléter le fichier_travail, par exemple avec vim :
vim fichier_travail
Lorsque vous avez fini et souhaitez partager ce que vous avez réalisé, vous l'ajoutez :
git add fichier_travail
Vous le commitez :
git commit -a
Vous aurez alors accès à la rédaction de ce commit ainsi :
1 Tests matutinaux d'utilisaton du git-df <- Ici une ligne vierge qui sert au titrage référence de votre intervention dans le projet. 2 3 Ici est un endroit à ajouter si on le désire pour raconter un historique qui serait trop long dans le titre du dessus. 4 Bien respecter l'interligne vierge entre les deux. 5 # Please enter the commit message for your changes. Lines starting 6 # with '#' will be ignored, and an empty message aborts the commit. 7 # 8 # Committer: votre pseudo du forum. Votre mail. 9 # 10 # On branch master 11 # Changes to be committed: 12 # (use "git reset HEAD <file>..." to unstage) 13 # 14 # modified: test 15 #
En enregistrant tout cela dans votre terminal vous obtiendrez ensuite :
[master 4daaf19] Tests matutinaux d'utilisaton du git-df Committer: votre pseudo du forum. Votre mail. If the identity used for this commit is wrong, you can fix it with: git commit --amend --author='Your Name <you@example.com>' 1 files changed, 1 insertions(+), 1 deletions(-)
Vous le poussez vers le git-df :
git push
Vous obtiendrez alors l'édition de ces lignes :
Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 432 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To df-git-nom_pseudo:fichier_travail xxxxxxx..xxxxxxx master -> master Already up-to-date.
Plus tard, pour le tirer de nouveau vers vous avec toutes les interventions ajoutées :
git pull
Et ainsi de suite…
À suivre, jeu sais pas encore faire ça…