2010-02-22 5 views
3

Avec git clone il y a l'option -n qui empêche une extraction de HEAD après le clonage du dépôt. Est-il possible de le faire manuellement?Y a-t-il un déco git?

Modifier Je pense que l'option -n lit mieux dans le manuel qu'il est en fait: Après le clonage avec -n tous mes outils montrent que je réside encore sur la branche principale; la seule différence étant que tous les fichiers sont affichés comme supprimés. Ce n'est pas vraiment la même situation que j'appellerais «pas vérifié».

Alors peut-être que je devrais simplement supprimer HEAD?

+0

Si vous essayez de faire un repo nu d'un non-nu, je pense que c'était déjà couvert: http://stackoverflow.com/questions/2199897/git-convert-normal-to-bare-repository – MikeSep

+0

Non, je veux juste * décocher *; par exemple. avoir le même repo un 'git clone -n' me donnerait. – Debilski

+0

vient de terminer ma réponse pour émuler un 'git clone -n' – VonC

Répondre

7

La solution la plus simple serait de cloner nu:

git clone --bare your_repo bare_repo 

(et supprimer votre vérifié repo)

Fondamentalement, vous avez besoin pour transformer votre repo en un nu, qui, selon this question, pourrait être fait manuellement avec:

  • modifier le fichier .git/config avoir bare = true au lieu de bare = false
  • enlever le contenu de your_repo/* autre que le fichier .git
  • déplacer le .git contenu dir dans your_repo/ et le retrait du .git dir

Voir aussi Git: Convert normal to bare repository, comme mentionné par MikeSep dans le commentaires.

Si vous devez décocher, gardez bare à false, et supprimez simplement tout sauf le .git. Cela devrait être comme un git clone -n.

+0

Merci. Maintenant que j'ai vraiment essayé 'clone -n', j'ai vu que c'était inutile. – Debilski