Configuration du référentiel GIT sur la machine locale
-
29-10-2019 - |
Question
Comment puis-je configurer un référentiel GIT sur un système local? (Je suis sur une boîte à vent)
C'est la configuration que j'essaie de réaliser: (tout est sur ma machine locale)
- dossier hôte (qui agit comme le référentiel central)
- dossier client
Je veux faire tout mon dev dans le dossier client. Une fois que j'ai terminé, j'aimerais le pousser dans le dossier hôte.
C'est ce que j'ai fait: (en utilisant Git Bash sur Windows)
- CD D: / Adinsert
- hôte mkdir
- hôte de CD
- git init
CDC:/
- Client MKDIR
- client CD
- git init
- git distote ajouter d'origine d: / host // ajout de fichiers dans le dossier client et les a commis
- Git Push Origin Master
Lorsque je pousse des choses à l'origine, Git crache beaucoup d'erreurs à distance. Cependant, lorsque je fais de mon hôte un git nu, il pousse avec succès.
Je ne comprends pas la différence entre Git régulier et le git nu. Du manuel, tout ce que j'ai compris, c'est que Bare Git est utilisé pour stocker des deltas et lorsque vous ne voulez pas stocker des fichiers originaux. Cependant, j'aimerais stocker les fichiers dans l'hôte. Comment puis je faire ça ?
La solution
La différence entre un "git régulier" et un "git nu" est qu'un référentiel nu fait ne pas avoir un répertoire de travail. Vous ne devriez jamais pousser dans un référentiel GIT ordinaire, car vous pouvez rencontrer des problèmes difficiles à récupérer. Poussez toujours dans un référentiel nu.
Si vous voulez avoir un "hôte" où les copies de vos fichiers apparaissent, configurez un troisième référentiel, en clonage de l'hôte. Chaque fois que vous souhaitez mettre à jour les fichiers hôte:
git push
de votre répertoire de travail pour mettre à jour le référentiel principalgit pull
de votre répertoire d'hôte pour tirer de l'origine
Vous pouvez même configurer un crochet post-engagement sur le référentiel nu pour faire automatiquement la deuxième étape.
Autres conseils
Dans ton client
Le répertoire que vous avez remarquera un .git
annuaire. UN bare
La version est fondamentalement juste .git
Contenu du répertoire sans copie de travail.
La chose la plus simple à faire serait de la cloner (vs essayer de configurer un autre référentiel):
De C: / Call:
git clone d:/host client
Cela indique clone le référentiel «hôte» et le stocker sous un dossier appelé «client».
Ne créez pas un nouveau repo git dans le dossier client, clonez le repo hôte
cd client
git clone d:/adinsert/host