Maison > Questions et réponses > le corps du texte
Je n'ai trouvé aucune information pertinente après une longue recherche. Quelle est la différence entre git init et git init --bare ?
仅有的幸福2017-05-02 09:33:19
Dans cet article je vais :
Utilisez « bibliothèque normale » pour faire référence à la bibliothèque GIT créée avec la commande « git init »
Utilisez « bare library » pour faire référence à la bibliothèque GIT créée avec la commande « git init --bare »
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 :
La différence entre les bibliothèques ordinaires et les bibliothèques nues : http://stackoverflow.com/questions/78611...
Comment utiliser une bibliothèque nue : http://stackoverflow.com/questions/76324...
Qu'est-ce que la bibliothèque nue GIT : http://www.saintsjd.com/2011/01/what-is-...
Comment créer une bibliothèque partagée à distance et collaborer en équipe : http://thelucid.com/2008/12/02/git-setti...
La différence entre git remote add et git clone : http://stackoverflow.com/questions/48555...
怪我咯2017-05-02 09:33:19
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.
迷茫2017-05-02 09:33:19
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 ;
淡淡烟草味2017-05-02 09:33:19
Il existe un livre intitulé "The Definitive Guide to Git" que vous pouvez lire, il est vraiment bien
曾经蜡笔没有小新2017-05-02 09:33:19
`--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
某草草2017-05-02 09:33:19
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é.