GIT []

Outils pour utilisateurs

Outils du site


GIT

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
documentation:informatique:linux:git:index [2019/01/22 12:41] – [Installer un serveur GIT] f1slsdocumentation: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'Ubuntu. Premièrement, créez un utilisateur 'git' et un répertoire .ssh pour cet utilisateur.
 +
 +<code="bash">
 +$> sudo adduser git
 +$> su git
 +$> cd
 +$> mkdir .ssh
 +</code>
 +
 +Ensuite, vous devez ajouter la clé publique d'un développeur au fichier authorized_keys de l'utilisateur Git. Supposons que vous avez reçu quelques clés par e-mail et les avez sauvées dans des fichiers temporaires.
  
 ===== Installer un serveur GIT ===== ===== Installer un serveur GIT =====
 +[[https://git-scm.com/book/fr/v2/Git-sur-le-serveur-Installation-de-Git-sur-un-serveur|Source sous licence MIT (copie/republication libre autorisée)]]
 +\\
 +
 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 :
  
 +<code lang="bash">
 $ git clone --bare mon_project mon_projet.git $ git clone --bare mon_project mon_projet.git
 Clonage dans le dépôt nu 'mon_projet.git'... Clonage dans le dépôt nu 'mon_projet.git'...
 fait. fait.
 +</code>
 Vous devriez maintenant avoir une copie des données de Git dans votre répertoire mon_project.git. Vous devriez maintenant avoir une copie des données de Git dans votre répertoire mon_project.git.
  
 C’est grossièrement équivalent à : C’est grossièrement équivalent à :
  
 +<code lang="bash">
 $ cp -Rf mon_projet/.git mon_projet.git $ cp -Rf mon_projet/.git mon_projet.git
 +</code>
 +
 Il y a quelques légères différences dans le fichier de configuration mais pour l’utilisation envisagée, c’est très proche. La commande extrait le répertoire Git sans répertoire de travail et crée un répertoire spécifique pour l’accueillir. Il y a quelques légères différences dans le fichier de configuration mais pour l’utilisation envisagée, c’est très proche. La commande extrait le répertoire Git sans répertoire de travail et crée un répertoire spécifique pour l’accueillir.
  
Ligne 17: 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 :
  
 +<code lang="bash">
 $ scp -r mon_projet.git utilisateur@git.exemple.com:/srv/git $ scp -r mon_projet.git utilisateur@git.exemple.com:/srv/git
 +</code>
 À 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 :
  
 +<code lang="bash">
 $ git clone utilisateur@git.exemple.com:/srv/git/mon_projet.git $ git clone utilisateur@git.exemple.com:/srv/git/mon_projet.git
 +</code>
 Si un utilisateur se connecte via SSH au serveur et a accès en écriture au répertoire /srv/git/mon_projet.git, il aura automatiquement accès pour pousser. Si un utilisateur se connecte via SSH au serveur et a accès en écriture au répertoire /srv/git/mon_projet.git, il aura automatiquement accès pour pousser.
  
 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.
  
 +<code lang="bash">
 $ ssh utilisateur@git.exemple.com $ ssh utilisateur@git.exemple.com
 $ cd /srv/git/mon_projet.git $ cd /srv/git/mon_projet.git
 $ git init --bare --shared $ git init --bare --shared
 +</code>
 Vous voyez comme il est simple de prendre un dépôt Git, créer une version nue et la placer sur un serveur auquel vous et vos collaborateurs avez accès en SSH. Vous voilà prêts à collaborer sur le même projet. Vous voyez comme il est simple de prendre un dépôt Git, créer une version nue et la placer sur un serveur auquel vous et vos collaborateurs avez accès en SSH. Vous voilà prêts à collaborer sur le même projet.
  
Ligne 47: 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 =====
 +<code  bash>
 +git init --bare test_repo.git
 +</code>
 +
 +===== Basculer en "master" =====
 +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 ''FICHIER'' et l'avoir ajouté ''git add FICHIER'' puis commité ''git commit -m "commentaire"''.
 +</WRAP>
 +
 +<code=bash>
 +$> git push origin master
 +</code>
 +
 +===== Récupérer les infos sur le dépôt utilisé =====
 +<code bash>
 +git remote show origin
 +</code>
 +<code bash>
 +git config --get remote.origin.url
 +</code>
 +
 +===== Basculer sur master =====
 +//(avant de faire le premier push)//
 +
 +<code bash>
 +git push --set-upstream origin master
 +</code>
 +
 +===== GIT via http =====
 +<WRAP center round tip 100%>
 +== ERREUR "DÉPÔT INTROUVABLE" ==
 +Si un clone depuis http ne fonctionne pas ("repository not found"), faire un ''git update-server-info'' depuis le répertoire du dépôt
 +</WRAP>
 +
documentation/informatique/linux/git/index.1548157261.txt.gz · Dernière modification : de f1sls