%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

Git

Article publié, le et modifié le
3 minutes de lecture

Cet article contient 501 mots.
Source brute de l'article :
Commit version : bea04f1

Description

GIT est un “gestionnaire de contenu de répertoire” conçu pour gérer des projets massifs avec rapidité et efficacité,

GIT entre dans la catégorie des outils de gestion de code source distribués, semblable à par exemple GNU Arch ou Monotone (ou, dans le monde commercial, BitKeeper). Chaque répertoire de travail GIT est un référentiel à part entière avec des capacités de suivi de révision complètes, ne dépendant pas de l’accès réseau à un serveur central.

Installation

Installez le paquet git.

Info

Configuration

Le fichier de configuration : ~/.gitconfig

Exemple minimaliste :

[user]
	name = identifiant
	email = email@domain.com

Signature

Depuis la version 1.7.9 de Git, il est possible de signer les commits, ce qui permet d’assurer que vous êtes bien l’auteur de ceux-ci.

Pour signer vos commits, il est nécessaire d’avoir créé dans un premier temps une clé GPG - ce mémo ne vous montrera pas comment faire L’outil GPG2 est fourni de base dans OpenBSD. Néanmoins, il vous faudra créer un lien symbolique pour lui faire croire qu’il utilise GPG, car Git semble ne pas être capable de comprendre !

Vous devrez ensuite modifier votre fichier de configuration afin de rajouter l’option signingkey dans la partie de configuration [user], tel que :

[user]
	name = identifiant
	email = email@domain.com
        signingkey = votre_id_gpg

La commande pour signer :

  • un commit : git commit -a -S -m 'un ou plusieurs longs commentaires'
  • un tag : git tag -s v1.5 -m 'mon tag signé'

Pour en connaître plus sur le fonctionnement de git et le fait de signer, veuillez lire la doc officielle…

Dépannage

error: cannot run gpg: No such file or directory

Vous avez le message d’erreur suivant dans son ensemble :

error: cannot run gpg: No such file or directory
error: impossible de lancer gpg.
fatal: échec de l'écriture de l'objet commit

L’outil GPG n’est pas trouvé ; normal sous OpenBSD, il n’existe pas. L’astuce est de lier GPG au binaire GPG2 :

# ln -sf /usr/local/bin/gpg2 /usr/local/bin/gpg

gpg: échec de la signature : Inappropriate ioctl for device

Le message d’erreur est le suivant :

gpg: échec de la signature : Inappropriate ioctl for device
gpg: signing failed: Inappropriate ioctl for device
error: gpg n'a pas pu signer les données
fatal: échec de l'écriture de l'objet commit

Il vous manque les paquets suivants : pinentry pinentry-gtk2 ou pinentry-gtk3 - veillez à les installer !

Pour info, il semble que ce soit lié au bogue 2680 relatif à la version 2.1x de GPG.

Documentation

N’oubliez pas de lire le fichier /usr/local/share/doc/pkg-readmes/git ! ;-)

⇒ Git :

⇒ GPG :


Historique

J’ai écrit historiquement cette documentation sur le wiki de la communauté “OpenBSD Pour Tous”.