Partage
  • Partager sur Facebook
  • Partager sur Twitter

Git et remote repository

Quelle est l'utilité de l'option --bare

Sujet résolu
    4 mai 2017 à 10:52:30

    Bonjour,

    J'ai tenté de mettre en pratique mes connaissances fraichement acquise en mettant en place un repository correspondant à la prod sur mon serveur web (je ne vais donc pas développer dessus) et travailler sur son clone en local (ma production faisant donc référence).

    Pour cela j'ai utilisé la commande git init --bare mondepot.git
    Le dépôt s'est correctement créé.

    En local j'ai importé le dépôt, afin d'en faire mon dépôt de développement.
    git clone user@monserveur:git/mondepot.git

    En local toujours, je créer un nouveau fichier (index.html), que je commit puis que je push
    git push origin master
    Jusqu'ici tout va bien (649bc5e..39fc58b  master -> master)

    Je me rend sur mon serveur distant et consulte le répertoire de mon dépôt. Le fichier créé n'y est pas. Pourtant si je fais un git log je vois bien mon dernier commit.

    Toujours sur le serveur distant, je tente un git clone de ce repository.
    git clone mondepot.git/ ./Prod

    Si je consulte mon répertoire Prod le fichier index.html est bien présent.

    Du coup je me pose des questions sur le fonctionnement du init --bare et son intérêt puisque j'aurai très bien pu faire un git clone depuis mon serveur de mon dépôt en local ?
    Dans le cas présent, je doit faire un git push depuis mon dépôt local, puis un git pull depuis mon serveur entre le premier et le second dépôt. Je suis un peu perplexe sur ma méthodologie. Que me conseilleriez-vous ?

    Pourquoi ne voit-on pas les fichiers dans un dépôt sans working directory (init --bare) ?
    Dans quel cas est-il intéressant d'utiliser ce type de dépôt ?

    Merci d'avance pour votre aide.

    -
    Edité par pasapin 4 mai 2017 à 10:54:45

    • Partager sur Facebook
    • Partager sur Twitter
      9 mai 2017 à 16:01:30

      Bonjour,

      C'est le --bare qui est important ici. Tu pourrais très bien faire un git init simple, sans --bare, et tu verrais on fichier apparaître dans le répertoire de ton serveur.

      Mais ces fichiers sont utiles à l'utilisateur, pas à Git. Lui stocke tous ses objets dans un répertoire .git. Le --bare sert justement à ne pas avoir les fichiers utilisateur, mais seulement le contenu du .git.

      Il est intéressant d'utiliser ce type de dépôt quand il ne sert que comme remote, pour éviter d'avoir des fichiers inutiles.

      • Partager sur Facebook
      • Partager sur Twitter
        11 mai 2017 à 12:11:15

        Merci Entwanne pour ces précisions.

        • Partager sur Facebook
        • Partager sur Twitter

        Git et remote repository

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown