Git sous Linux
Git est un logiciel de gestion de versions décentralisé, c'est un logiciel libre créé par Linus Torvalds, auteur du noyau Linux. il est utilisable sous distributions Linux, sous Windows ou Mac OS X.A - Créer un dépôt
Cela permet d'héberger, d'échanger et de gérer du code pour des projets de logiciels.
Il existe de nombreuses possibilités pour avoir un dépôt , ci-dessous quelques exemples :
- BitBucket : Propose de faire des dépôts privé gratuit, nombre illimité de dépôts publics/privés. Gratuit pour 5 utilisateurs, parrainé par Atlassian
- Gitlab : un web-service gratuit qui utilise Git, mais c'est aussi un logiciel libre de forge
(Gitorious : [le 04/03/2015] Gitlab achète Gitorious)
la forge git.framasoft.org est désormais ouverte à tous. [le 16/03/2015]
permet la création de 42 dépôts git maximum par compte (utilise GitLab)
- Github : un web-service gratuit racheté en juin 2018 par Microsoft. Nombre illimité de dépôts publics et un nombre illimité de collaborateurs publics, le code de Github est propriétaire
- Repo.or.cz : Fournit juste un hébergement git. C'est tout
La taille du dépôt ne doit pas dépasser 400 Mo , possibilité de faire du "mirror mode".
- Savannah : Héberge les logiciels libres qui fonctionnent sur des systèmes libres et sans dépendance propriétaire.
B - Installer Git

Comme indiquer sur la page Installation de Git (pour information)
Dans le gestionnaire de paquets rechercher : git
Ou en ligne de commande
~$
sudo apt-get install git
git (version 1:2.20.1-2+deb10u1) sera installé
git-man (version 1:2.20.1-2+deb10u1) sera installé
liberror-perl (version 0.17027-2) sera installé
openssh-client (version 1:7.9p1-10+deb10u2) sera installé
Après l'installation de Git il faut renseigner son nom et son adresse e-mail
en ligne de commande
~$
git config --global user.name "mon_nom"
~$
git config --global user.email "mon_mail@mail.com
Pour vérfier les informations en ligne de commande :
~$
git config --global user.name
Affichera mon_nommon_mail@mail.comom
~$
git config --global user.email
Affichera
C - Configurer le SSH
A si besoin installer openssh-client (normalement il a été installé au départ avec git ... )
si vous avez déjà une clef SSH vous devez avoir un dossier /home/nomuser/.ssh dans votre home
B Ensuite génération de la clef SSH comme indiqué sur Generating SSH Keys ou sur Génération des clés publiques SSH
En ligne de commande
~/.ssh$ ssh-keygen -t rsa -b 4096 -C "mon_mail@mail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nomuser/.ssh/id_rsa):
Enter passphrase (laisser vide si pas de passphrase):
Enter same passphrase again:
Your identification has been saved in /home/nomuser/.ssh/id_rsa.
Your public key has been saved in /home/nomuser/.ssh/id_rsa.pub.
The key fingerprint is:
fe:xx:xx:af:xx:93:xx:c5:xx:ea:bc:xx:xx:c8:xx:2d mon_mail@mail.com
The key's randomart image is:
+--[ RSA 2048]----+
| o |
.....
| .o .o |
+-----------------+
il sera créer une clé SSH Vous aurez donc une clef privée id_rsa et une clef publique id_rsa.pub
Ajout de votre clé SSH à l'agent ssh
- Démarrez l'agent ssh
Ajoutez votre clé privée SSH à l'agent ssh
~$
eval "$(ssh-agent -s)"
Affichera
Agent pid 4828
~$ ssh-add ~/.ssh/id_rsa
affichera
Identity added: /home/xxxx/.ssh/id_rsa (/home/linux/.ssh/id_rsa)
B - Aller sur votre dépôt et connectez vous
exemple sur Github ![]() |
exemple sur Framasoft / Gitlab![]() |
Puis
En ligne de commande
Pour copier le contenu du fichier id_rsa.pub dans le presse papier
~$
xclip -sel clip < ~/.ssh/id_rsa.pub
et aller dans github SSH and GPG keys puis GPG keys / Add new
Vous verrez alors l'empreinte de votre clef.
Gitub : Vous recevrez en plus un message avec l'empreinte (fingerprint) de votre clef
C'est terminé
C - Il reste à vérifier la connexion SSH
En ligne de commande
~$ ssh -T git@github.com
Hi Xxxxxx! You've successfully authenticated ... .
ou
~$ ssh -T git@framagit.org
...
Voila, vous pourrez alors vous connecter en SSH pour les opérations de transfertQuelques choix possibles pour interfaces graphique pour une utilisation de Git GUI Clients et 5 interfaces
Pour information git - petit guide
Document http://jc.etiemble.free.fr/abc/ JCE - version 08/04/2020-0
