threads / discuss / 30135

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

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

## tl;dr

7 messages between Apr 3, 2012 and Apr 4, 2012.

replies: 6people: 4as markdown or json

J. Bakshi· Apr 3, 2012, 10:53 UTC · lore
Dear list,

I need to create git repos on a remote server by the command executed on that server through ssh as

` ` ` ` ` git --bare init project_name.git

` ` ` ` `

How can I also add the master branch, so that users don't need to execute [ git push origin master ] ?

Thanks
Holger Hellmuth· Apr 3, 2012, 14:54 UTC · re: J. Bakshi · lore

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

On 03.04.2012 12:53, J. Bakshi wrote:
Show 7 quoted lines
> Dear list,
>
> I need to create git repos on a remote server by the command executed on that server
> through ssh as
>
> ` ` ` ` `
> git --bare init project_name.git
you probably meant "git init --bare project_name.git"
> How can I also add the master branch, so that users don't need to
> execute  [ git push origin master ]  ?

What else do you want them to execute? "git init --bare" creates an empty repository. Without pushing to it it will always stay empty

Generally: If you want a central repository, the first one to push to it 
might do something like this:

git remote add origin ssh://big.brother.edu/repo.git git push origin master git config branch.master.remote origin git config branch.master.merge refs/heads/master

Everyone else could do
git clone ssh://big.brother.edu/repo.git
Now everyone will push to the repository master when they do "git push".
Is that what you wanted to know?
Tomas Carnecky· Apr 3, 2012, 15:22 UTC · re: Holger Hellmuth · lore

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

On Tue, 03 Apr 2012 16:54:19 +0200, Holger Hellmuth <hellmuth@ira.uka.de> wrote:
Show 7 quoted lines
> Generally: If you want a central repository, the first one to push to it 
> might do something like this:
> 
> git remote add origin ssh://big.brother.edu/repo.git
> git push origin master
> git config branch.master.remote origin
> git config branch.master.merge refs/heads/master
or simply: git push -u origin master
tom
J. Bakshi· Apr 4, 2012, 07:11 UTC · re: Holger Hellmuth · lore

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

On Tue, 03 Apr 2012 16:54:19 +0200 Holger Hellmuth <hellmuth@ira.uka.de> wrote:

Show 10 quoted lines
> On 03.04.2012 12:53, J. Bakshi wrote:
> > Dear list,
> >
> > I need to create git repos on a remote server by the command executed on that server
> > through ssh as
> >
> > ` ` ` ` `
> > git --bare init project_name.git
> 
> you probably meant "git init --bare project_name.git"
Yes right. Sorry for the mistake.
Show 22 quoted lines
> 
> > How can I also add the master branch, so that users don't need to
> > execute  [ git push origin master ]  ?
> 
> What else do you want them to execute? "git init --bare" creates an 
> empty repository. Without pushing to it it will always stay empty
> 
> Generally: If you want a central repository, the first one to push to it 
> might do something like this:
> 
> git remote add origin ssh://big.brother.edu/repo.git
> git push origin master
> git config branch.master.remote origin
> git config branch.master.merge refs/heads/master
> 
> Everyone else could do
> 
> git clone 
> 
> Now everyone will push to the repository master when they do "git push".
> 
> Is that what you wanted to know?

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" 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 ?

# git init --bare project_name.git
# cd project_name.git
.... and can I execute here any command to add master ?
Thanks
Junio C Hamano· Apr 4, 2012, 17:16 UTC · re: J. Bakshi · lore

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

"J. Bakshi" <joydeep.bakshi@infoservices.in> writes:
Show 8 quoted lines
> On Tue, 03 Apr 2012 16:54:19 +0200
> Holger Hellmuth <hellmuth@ira.uka.de> wrote:
>
>> > git --bare init project_name.git
>> 
>> you probably meant "git init --bare project_name.git"
>
> Yes right. Sorry for the mistake.

Just on this part. "git --bare init" is technially more kosher, but it looks somewhat strange, so "git init" has a special case code to pretend as if the user said "git --bare init" when "git init --bare" was given.

So both should work fine.
Holger Hellmuth· Apr 4, 2012, 18:00 UTC · re: J. Bakshi · lore

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

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

Show 5 quoted lines
> 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.

Holger Hellmuth· Apr 4, 2012, 18:07 UTC · re: J. Bakshi · lore

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

On 04.04.2012 09:11, J. Bakshi wrote:
PS: I always get an error message from your email provider:
-----------------------
   joydeep.bakshi@infoservices.in
     all relevant MX records point to non-existent hosts or (invalidly) 
to IP addresses
-----------------------

I assume you have read my last message on gmane, so I send this to the kernel mailing list as well.

← back to recent threads