Subject: Re: How to create empty CENTRAL git with master / development branch ?

From: Holger Hellmuth <[email-masked]>
Date: Wed, 04 Apr 2012 20:00:17 +0200

On 04.04.2012 09:11, J. Bakshi wrote:
> well.... I like to create the master just after creating the bare repo.
> So that the users can just start working on it without "git push origin master"

But what do you mean by working on it? The users don't work on the 
central repository, everyone has his own repository. And when this user 
wants to put something into the central repository he needs to push

> As I can already ssh into the central git server, I don't need any further
> ssh://big.brother.edu/repo.git
>
> So what should I do after creating a bare empty repo to generate the master
> there ?

I can give you two answers to that, both somewhat true:

1) The master branch already exists, HEAD already points to it (look 
into the file HEAD).

2) Without a commit that master can point to a master branch can't 
exist. You first have to have a commit that you put into this 
repository. Since it is bare you can't use "git add"+"git commit" you 
have to push it from some other repository

A branch is like a pointer in a programming language, it points to a 
commit. If you don't have any commits, the pointer is NIL. I don't know 
if git has any use for NIL pointers (i.e. an empty /refs/heads/master 
file), but no file refs/heads/master or an empty file refs/heads/master 
means practically the same as having the NIL value (as far as I know)

Instead of "git push -u" you could also clone the bare repository from 
somewhere (it will give a warning), add a file (for example ".gitignore" 
if you want to keep the repository practically empty), commit, and push. 
You can do this locally on the server if you want to.