Git
Chapters ▾ 2nd Edition

2.1 Les bases de Git - Démarrer un dépôt Git

Si vous ne deviez lire qu’un chapitre avant de commencer à utiliser Git, c’est celui-ci. Ce chapitre couvre les commandes de base nécessaires pour réaliser la vaste majorité des activités avec Git. À la fin de ce chapitre, vous devriez être capable de configurer et initialiser un dépôt, commencer et arrêter le suivi de version de fichiers, d’indexer et valider des modifications. Nous vous montrerons aussi comment paramétrer Git pour qu’il ignore certains fichiers ou patrons de fichiers, comment revenir sur les erreurs rapidement et facilement, comment parcourir l’historique de votre projet et voir les modifications entre deux validations, et comment pousser et tirer les modifications avec des dépôts distants.

Démarrer un dépôt Git

Vous pouvez principalement démarrer un dépôt Git de deux manières. La première consiste à prendre un projet ou un répertoire existant et à l’importer dans Git. La seconde consiste à cloner un dépôt Git existant sur un autre serveur.

Initialisation d’un dépôt Git dans un répertoire existant

Si vous commencez à suivre un projet existant dans Git, vous n’avez qu’à vous positionner dans le répertoire du projet et saisir :

$ git init

Cela crée un nouveau sous-répertoire nommé .git qui contient tous les fichiers nécessaires au dépôt — un squelette de dépôt Git. Pour l’instant, aucun fichier n’est encore versionné. (Cf. Les tripes de Git pour plus d’information sur les fichiers contenus dans le répertoire .git que vous venez de créer.)

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'

Cloner un dépôt existant

Si vous souhaitez obtenir une copie d’un dépôt Git existant — par exemple, un projet auquel vous aimeriez contribuer — la commande dont vous avez besoin s’appelle git clone. Si vous êtes familier avec d’autres systèmes de gestion de version tels que Subversion, vous noterez que la commande est clone et non checkout. C’est une distinction importante — Git reçoit une copie de quasiment toutes les données dont le serveur dispose. Toutes les versions de tous les fichiers pour l’historique du projet sont téléchargées quand vous lancez git clone. En fait, si le disque du serveur se corrompt, vous pouvez utiliser n’importe quel clone pour remettre le serveur dans l’état où il était au moment du clonage (vous pourriez perdre quelques paramètres du serveur, mais toutes les données sous gestion de version seraient récupérées — cf. Installation de Git sur un serveur pour de plus amples détails).

Vous clonez un dépôt avec git clone [url]. Par exemple, si vous voulez cloner la bibliothèque logicielle Git appelée libgit2, vous pouvez le faire de la manière suivante :

$ git clone https://github.com/libgit2/libgit2

Ceci crée un répertoire nommé “libgit2”, initialise un répertoire .git à l’intérieur, récupère toutes les données de ce dépôt, et extrait une copie de travail de la dernière version. Si vous examinez le nouveau répertoire libgit2, vous y verrez les fichiers du projet, prêts à être modifiés ou utilisés. Si vous souhaitez cloner le dépôt dans un répertoire nommé différemment, vous pouvez spécifier le nom dans une option supplémentaire de la ligne de commande :

$ git clone https://github.com/libgit2/libgit2 monlibgit2

Cette commande réalise la même chose que la précédente, mais le répertoire cible s’appelle monlibgit2.

Git dispose de différents protocoles de transfert que vous pouvez utiliser. L’exemple précédent utilise le protocole https://, mais vous pouvez aussi voir git:// ou utilisateur@serveur:/chemin.git, qui utilise le protocole de transfert SSH. Installation de Git sur un serveur introduit toutes les options disponibles pour mettre en place un serveur Git, ainsi que leurs avantages et inconvénients.