Quelle est la façon la plus simple de cloner un vide, *nu* dépôt git?
Je viens de terminer la croisière, les résultats de recherche Google qui contiennent tous les e-mails, coups de gueule à propos de la façon dont il est stupide que git ne peut pas cloner un dépôt vide. Une sorte d'âme, même soumis un patch. Jusqu'à ce que git est mis à niveau, ce qui est le plus simple, le plus simple méthode pour cloner un vide, nu dépôt git?
La solution idéale sera de soutenir le -o
option pour donner la distance repo à un autre nom que origin
, et il va être mises en œuvre comme un simple script shell, par exemple, git-clone-empty-repo
.
(Pourquoi je veux faire: j'ai mis en place un nu, vide repo git sur notre filer NetApp où il sera sauvegardé, mais je veux travailler avec un clone sur mon disque dur local et de le pousser et le tirer en arrière. Autres personnes avec qui je travaille en fera de même. Je vais créer de nouveaux dépôts dit beaucoup et mon incapacité à cloner un vide repo me rend fou.)
MODIFIER: VonC fil suggère que
$ git-init
$ git-remote add origin server:/pub/git/test.git
est équivalent à cloner le repo distant lorsque l'opération est vide. Ce n'est pas tout à fait ce que je veux, parce que j'ai toujours utiliser la -o
option avec git clone; j'ai le nom de la télécommande pensions en fonction de quelle machine il est sur ou une autre mémorable critère. (J'ai trop de repos pour les garder en ligne droite si ils sont tous appelés origin
.)
MODIFIER: La réponse suivante sera marquée accepté 🙂
De cloner un vide, nu repo à chemin,
- Garder à
~/git/onefile
un non-nue repo git contenant un fichier inoffensif comme.gitignore
. (Vous pouvez également créer un tel repo dynamiquement.) (cd ~/git/onefile; git push
cheminmaster)
git clone -o
nom chemin
En d'autres termes, ne pas tenter de cloner le vide résultant de pensions, mais plutôt après la création, en le poussant à une simple repo contenant un fichier inoffensif. Alors il n'est plus vide et peut être cloné.
Si quelqu'un ne me battre pour elle, je vais poster un script shell.
Je pense que moderne prend en charge le clonage dépôt vide, ou l'avenir de git soutien de clonage dépôt vide
Version 1.5.6.5, courant sur Debian, ce n'est pas un clone emty, nu repo.
OriginalL'auteur Norman Ramsey | 2009-05-21
Vous devez vous connecter pour publier un commentaire.
Peut-être juste un repo git, avec le minimum de nombre de fichier:
:
.gitignore
avec d'évidentes ignorer les modèles.Et puis clone que "presque vide" référentiel.
Notez qu'une telle "presque vide" référentiel ("presque" parce qu'il a encore un minimum de répertoire de travail aux côtés de la .répertoire git) peut alors par "
git clone --bare
" (comme illustré ici), faisant de lui un vrai nu repo (mais pas un "vide").C'est que nu repo vous pouvez alors:
Vous avez dans ce fil un bon résumé de "l'autre sens" (qui, je le garder ici pour référence).
À qui Junio C Hamano a répondu:
Mais une fois que vous créez une "presque vide" repos, vous pouvez "git clone --bare", et d'en faire un vrai nu repo ( stackoverflow.com/questions/738154/... )
Si créer une presque vide repo, j'ai plus qu'à pousser pour un nouveau initialisé à nu des pensions. Si vous n'avez pas l'esprit en raclant les extra trucs hors de votre réponse, j'ai pu upvote 🙂
Note à moi-même: Voir stackoverflow.com/questions/1298190/... à propos du clonage vide repo
OriginalL'auteur VonC