Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
documentation:informatique:linux:git:index [2019/01/22 12:44] – f1sls | documentation:informatique:linux:git:index [2023/02/01 04:47] (Version actuelle) – [Basculer sur master] f1sls | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== GIT ====== | ====== GIT ====== | ||
+ | |||
+ | ===== Créer un utilisateur GIT ===== | ||
+ | Parcourons les étapes de la mise en place d'un accès SSH côté serveur. Dans cet exemple, vous utiliserez la méthode des authorized_keys pour authentifier vos utilisateurs. Nous supposerons également que vous utilisez une distribution Linux standard telle qu' | ||
+ | |||
+ | < | ||
+ | $> sudo adduser git | ||
+ | $> su git | ||
+ | $> cd | ||
+ | $> mkdir .ssh | ||
+ | </ | ||
+ | |||
+ | Ensuite, vous devez ajouter la clé publique d'un développeur au fichier authorized_keys de l' | ||
===== Installer un serveur GIT ===== | ===== Installer un serveur GIT ===== | ||
Ligne 7: | Ligne 19: | ||
Pour réaliser l’installation initiale d’un serveur Git, il faut exporter un dépôt existant dans un nouveau dépôt nu — un dépôt qui ne contient pas de copie de répertoire de travail. C’est généralement simple à faire. Pour cloner votre dépôt en créant un nouveau dépôt nu, lancez la commande clone avec l’option --bare. Par convention, les répertoires de dépôt nu finissent en .git, de cette manière : | Pour réaliser l’installation initiale d’un serveur Git, il faut exporter un dépôt existant dans un nouveau dépôt nu — un dépôt qui ne contient pas de copie de répertoire de travail. C’est généralement simple à faire. Pour cloner votre dépôt en créant un nouveau dépôt nu, lancez la commande clone avec l’option --bare. Par convention, les répertoires de dépôt nu finissent en .git, de cette manière : | ||
- | < | + | < |
$ git clone --bare mon_project mon_projet.git | $ git clone --bare mon_project mon_projet.git | ||
Clonage dans le dépôt nu ' | Clonage dans le dépôt nu ' | ||
Ligne 16: | Ligne 28: | ||
C’est grossièrement équivalent à : | C’est grossièrement équivalent à : | ||
- | < | + | < |
$ cp -Rf mon_projet/ | $ cp -Rf mon_projet/ | ||
</ | </ | ||
Ligne 25: | Ligne 37: | ||
À présent que vous avez une copie nue de votre dépôt, il ne reste plus qu’à la placer sur un serveur et à régler les protocoles. Supposons que vous avez mis en place un serveur nommé git.exemple.com auquel vous avez accès par SSH et que vous souhaitez stocker vos dépôts Git dans le répertoire /srv/git. En supposant que /srv/git existe, vous pouvez mettre en place votre dépôt en copiant le dépôt nu : | À présent que vous avez une copie nue de votre dépôt, il ne reste plus qu’à la placer sur un serveur et à régler les protocoles. Supposons que vous avez mis en place un serveur nommé git.exemple.com auquel vous avez accès par SSH et que vous souhaitez stocker vos dépôts Git dans le répertoire /srv/git. En supposant que /srv/git existe, vous pouvez mettre en place votre dépôt en copiant le dépôt nu : | ||
- | < | + | < |
$ scp -r mon_projet.git utilisateur@git.exemple.com:/ | $ scp -r mon_projet.git utilisateur@git.exemple.com:/ | ||
</ | </ | ||
À partir de maintenant, tous les autres utilisateurs disposant d’un accès SSH au serveur et ayant un accès en lecture seule au répertoire /srv/git peuvent cloner votre dépôt en lançant la commande : | À partir de maintenant, tous les autres utilisateurs disposant d’un accès SSH au serveur et ayant un accès en lecture seule au répertoire /srv/git peuvent cloner votre dépôt en lançant la commande : | ||
- | < | + | < |
$ git clone utilisateur@git.exemple.com:/ | $ git clone utilisateur@git.exemple.com:/ | ||
</ | </ | ||
Ligne 37: | Ligne 49: | ||
Git ajoutera automatiquement les droits de groupe en écriture à un dépôt si vous lancez la commande git init avec l’option --shared. | Git ajoutera automatiquement les droits de groupe en écriture à un dépôt si vous lancez la commande git init avec l’option --shared. | ||
- | < | + | < |
$ ssh utilisateur@git.exemple.com | $ ssh utilisateur@git.exemple.com | ||
$ cd / | $ cd / | ||
Ligne 61: | Ligne 73: | ||
Une dernière méthode consiste à faire une authentification SSH auprès d’un serveur LDAP ou tout autre système d’authentification centralisé que vous utiliseriez déjà. Tant que chaque utilisateur peut accéder à un shell sur la machine, n’importe quel schéma d’authentification SSH devrait fonctionner. | Une dernière méthode consiste à faire une authentification SSH auprès d’un serveur LDAP ou tout autre système d’authentification centralisé que vous utiliseriez déjà. Tant que chaque utilisateur peut accéder à un shell sur la machine, n’importe quel schéma d’authentification SSH devrait fonctionner. | ||
+ | |||
+ | ===== Créer un dépôt vierge ===== | ||
+ | < | ||
+ | git init --bare test_repo.git | ||
+ | </ | ||
+ | |||
+ | ===== Basculer en " | ||
+ | Une fois qu'on a cloné localement le dépôt git vide, il faut basculer sur la branche master avant de pusher le premier fichier. | ||
+ | <WRAP center round info 100%> | ||
+ | == NOTE == | ||
+ | Il faut avoir créé un '' | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | $> git push origin master | ||
+ | </ | ||
+ | |||
+ | ===== Récupérer les infos sur le dépôt utilisé ===== | ||
+ | <code bash> | ||
+ | git remote show origin | ||
+ | </ | ||
+ | <code bash> | ||
+ | git config --get remote.origin.url | ||
+ | </ | ||
+ | |||
+ | ===== Basculer sur master ===== | ||
+ | //(avant de faire le premier push)// | ||
+ | |||
+ | <code bash> | ||
+ | git push --set-upstream origin master | ||
+ | </ | ||
+ | |||
+ | ===== GIT via http ===== | ||
+ | <WRAP center round tip 100%> | ||
+ | == ERREUR " | ||
+ | Si un clone depuis http ne fonctionne pas (" | ||
+ | </ | ||
+ |