URL: https://linuxfr.org/forums/general-general/posts/git Title: Git Authors: Marotte ⛧ Date: 2016年10月26日T18:08:57+02:00 License: CC By-SA Tags: git Score: 3 Je découvre Git et je suis maintenant en mesure d’effectuer les opérations les plus courantes, cependant il y a encore des subtilités qui m’échappent. Notamment celle-ci : la création d’un dépôt de référence (bare repository) et le premier commit depuis un « client ». J’ai bien saisi la différence entre un dépôt "bare" et un dépôt de travail (working tree), seulement il semblerait qu’il y ait deux méthodes et je n’arrive pas à comprendre toutes les implications. Tout d’abord, la création de l’utilisateur git et du dépôt est la même au départ : ``` # adduser --home /home/git --shell /usr/bin/git-shell --no-create-home --disabled-password git # mkdir /home/git && chown -R git:git /home/git # mkdir /home/git/.ssh && chmod 0700 /home/git/.ssh && cat /home/bob/.ssh/id_rsa.pub> /home/git/.ssh/authorized_keys # chown -R git:git /home/git/.ssh/ && chmod 0700 /home/git/.ssh/authorized_keys # mkdir /home/git/test.git && cd /home/git/test.git # git init --bare --shared # chown -R git:git . && chmod g+sw . ``` Et c’est à partir de là que j’ai deux voies possibles... Solution 1) Bob crée son propre dépôt (working tree) et « attache » celui-ci au dépôt de référence : ``` $ mkdir test && cd test $ git init $ git remote add origin git@medusa:/home/git/test.git $ git pull origin master ``` Solution 2) Directement dans le dépôt de référence : ``` # git remote add origin /home/git/test.git ``` ensuite Bob (ou les autres utilisateurs) clone directement. Il semblerait que j’arrive au même résultat dans les deux cas (après un premier commit) : ``` * distante origin URL de rapatriement : git@medusa:/home/git/test.git URL push : git@medusa:/home/git/test.git Branche HEAD : master Branche distante : master suivi Branche locale configurée pour 'git pull' : master fusionne avec la distante master Référence locale configurée pour 'git push' : master pousse vers master (à jour) ``` Est-ce qu’il y a des conséquences à choisir entre l’une ou l’autre de ces deux méthodes ? Pendant que j’y suis j’ai une autre question : Le fichier _description_ semble pouvoir être édité pour donner un nom au dépôt. Comment doit-on utiliser ce nom ensuite ?