github - Quelle est la différence entre git init et git init --bare?
大家讲道理
大家讲道理 2017-05-02 09:31:19
0
7
793

Je n'ai trouvé aucune information pertinente après une longue recherche. Quelle est la différence entre git init et git init --bare ?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(7)
仅有的幸福

Dans cet article je vais :

  1. Utilisez « bibliothèque normale » pour faire référence à la bibliothèque GIT créée avec la commande « git init »

  2. Utilisez « bare library » pour faire référence à la bibliothèque GIT créée avec la commande « git init --bare »

  3. ;

Lorsque vous créez une bibliothèque normale, dans le répertoire de travail, en plus du répertoire .git, vous pouvez également voir tous les fichiers sources contenus dans la bibliothèque. Vous disposez d'une bibliothèque native qui peut être parcourue et modifiée (ajouter, valider, supprimer, etc.).
Lorsque vous créez une bibliothèque nue, il n'y a qu'un seul répertoire .git dans le répertoire de travail, et il n'y a pas de structure de fichiers similaire à la bibliothèque locale que vous pouvez parcourir et modifier directement. Mais vous pouvez toujours utiliser la commande git show pour parcourir, par exemple (le paramètre est la valeur SHA1 d'un certain commit) :

# git show 921dc435a3acd46e48e3d1e54880da62dac18fe0

De manière générale, une bibliothèque nue est souvent créée comme une bibliothèque partagée pour que tout le monde puisse travailler ensemble, et chacun peut y apporter ses propres modifications locales. Une méthode de dénomination courante consiste à ajouter .git après le nom de la bibliothèque, par exemple :

# mkdir example.git
# cd example.git
# git init --bare .

Vous disposez donc d'une bibliothèque partagée appelée exemple. Sur votre propre machine locale, vous pouvez utiliser la commande git remote add pour effectuer l'enregistrement initial :

// assume there're some initial files you want to push to the bare repo you just created,
// which are placed under example directory
# cd example
# git init
# git add *
# git commit -m "My initial commit message"
# git remote add origin git@example.com:example.git
# git push -u origin master

Tous les membres de l'équipe du projet peuvent cloner cette bibliothèque, puis insérer leur propre code dans cette bibliothèque après avoir effectué des modifications locales.

# git clone git@example.com:example.git
# cd example

Référence :

  1. La différence entre les bibliothèques ordinaires et les bibliothèques nues : http://stackoverflow.com/questions/78611...

  2. Comment utiliser une bibliothèque nue : http://stackoverflow.com/questions/76324...

  3. Qu'est-ce que la bibliothèque nue GIT : http://www.saintsjd.com/2011/01/what-is-...

  4. Comment créer une bibliothèque partagée à distance et collaborer en équipe : http://thelucid.com/2008/12/02/git-setti...

  5. La différence entre git remote add et git clone : ​​http://stackoverflow.com/questions/48555...

刘奇

Le référentiel (dépôt nu) initialisé avec "git init –bare" contient uniquement le répertoire ".git" (enregistrement de l'historique des versions) et n'inclut pas de copie du fichier source du projet. Si vous entrez dans le répertoire de version, vous constaterez qu'il n'y a que le répertoire ".git" et aucun autre fichier. Le référentiel contient uniquement des fichiers qui enregistrent l'historique des versions.

迷茫

Ce que les personnes ci-dessus ont dit est trop compliqué, cela peut être expliqué en 3 phrases :
1.git init crée un entrepôt local (créé dans le répertoire du projet)
2.git init --bare crée un entrepôt distant Entrepôt final (un entrepôt de sauvegarde qui peut être créé dans un chemin autre que le serveur ou le répertoire du projet)
Validez le projet sur 1 et poussez sur 2 ;

阿神

le dépôt nu n'a pas d'arbre de travail

淡淡烟草味

Il existe un livre intitulé "The Definitive Guide to Git" que vous pouvez lire, il est vraiment bien

曾经蜡笔没有小新

`--bare
Créez un référentiel nu. Si l'environnement GIT_DIR n'est pas défini, il est défini sur le répertoire de travail actuel.`
http://blog.csdn.net/feizxiang3/article/details/8065506

某草草

Du point de vue de l'utilisation :
git init est utilisé pour les bibliothèques de codes locales, y compris tous les codes sources du dossier, et les fichiers liés au contrôle de version git se trouvent dans le répertoire .git ;
git init -- ; bare signifie Il s'agit de créer une bibliothèque nue. Après avoir exécuté la commande, le répertoire n'inclura que les fichiers liés au contrôle de version git, etc., par rapport à tous les fichiers du dossier .git ci-dessus. Le répertoire suivant n'inclut pas le code source du projet.
De manière générale, lorsqu'il est utilisé comme sauvegarde à distance ou comme référentiel public, git init --bare doit être utilisé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal