views:

270

answers:

1

With git clone there is the option -n wich prevents a checkout of HEAD after the repository is cloned. Is there a possibility to do this manually?

Edit I think the option -n reads better in the manual than it actually is: After cloning with -n all my tools show that I still reside on the master branch; the only difference being that all files are shown as deleted. It’s not really the same situation that I would call ‘not checked out’.

So maybe I should just delete HEAD?

+1  A: 

The simplest solution would be to clone it bare:

git clone --bare your_repo bare_repo

(and delete your checked out repo)

Basically, you need to transform your repo into a bare one, which, according to this question, could be done manually with:

  • changing the .git/config file to have bare = true instead of bare = false
  • removing the contents of your_repo/* other than the .git file
  • moving the .git dir contents into your_repo/ and removing the .git dir

See also Git: Convert normal to bare repository, as mentioned by MikeSep in the comments.

If you need to uncheckout, keep bare to false, and simply remove everything but the .git. That should be like a git clone -n.

VonC
Thanks. Now that I really tried `clone -n`, I saw that indeed it is useless.
Debilski