# commit 0? (or: create new empty branch)

5 messages from 2008-03-11 to 2008-03-11. Participants: Luciano Rocha, Johannes Schindelin, Johannes Sixt.
Thread: https://gitlist.dev/t/12636

## Luciano Rocha, 2008-03-11 12:30

Subject: commit 0? (or: create new empty branch)
Message-ID: <20080311123004.GA27577@bit.office.eurotux.com>
URL: https://gitlist.dev/e/20080311123004.GA27577%40bit.office.eurotux.com

```

Hello,

I'd like to create a new branch, without any pre-existing data, for
purposes similar to git's html/man/.....

However, I've been unable to do that using the higher level tools.

Even starting from an empty git rep, I can't create a branch:

$ git init
Initialized empty Git repository in .git/
$ git branch empty
fatal: Not a valid object name: 'master'.

How were the different git.git branches created?

Regards,
Luciano Rocha

-- 
Luciano Rocha <luciano@eurotux.com>
Eurotux Informática, S.A. <http://www.eurotux.com/>

```

## Johannes Schindelin, 2008-03-11 12:52

Subject: Re: commit 0? (or: create new empty branch)
Message-ID: <alpine.LSU.1.00.0803111350550.3873@racer.site>
URL: https://gitlist.dev/e/alpine.LSU.1.00.0803111350550.3873%40racer.site
In-Reply-To: <20080311123004.GA27577@bit.office.eurotux.com>

```
Hi,

On Tue, 11 Mar 2008, Luciano Rocha wrote:

> I'd like to create a new branch, without any pre-existing data, for
> purposes similar to git's html/man/.....

If there is nothing to branch from, there is nothing to branch from.

You might want to rename your branch (once you have something).

But then, I do not even understand why you bother.  You can always push to 
a branch of a different name, and have your principal branch being 
"master" locally.

Hth,
Dscho

```

## Johannes Sixt, 2008-03-11 13:08

Subject: Re: commit 0? (or: create new empty branch)
Message-ID: <47D6843A.1030200@viscovery.net>
URL: https://gitlist.dev/e/47D6843A.1030200%40viscovery.net
In-Reply-To: <20080311123004.GA27577@bit.office.eurotux.com>

```
Luciano Rocha schrieb:
> I'd like to create a new branch, without any pre-existing data, for
> purposes similar to git's html/man/.....
> 
> However, I've been unable to do that using the higher level tools.
> 
> Even starting from an empty git rep, I can't create a branch:
> 
> $ git init
> Initialized empty Git repository in .git/
> $ git branch empty
> fatal: Not a valid object name: 'master'.
> 
> How were the different git.git branches created?

There are two ways:

1. Plumbing level

  $ git symbolic-ref HEAD refs/heads/html
  $ rm .git/index
  ...commit new content...

2. Porcelain level

  $ mkdir ../html && cd ../html
  $ git init
  ...commit new content...
  $ cd -   # go back
  $ git fetch ../html master:html

-- Hannes

```

## Luciano Rocha, 2008-03-11 14:45

Subject: Re: commit 0? (or: create new empty branch)
Message-ID: <20080311144515.GB12258@bit.office.eurotux.com>
URL: https://gitlist.dev/e/20080311144515.GB12258%40bit.office.eurotux.com
In-Reply-To: <alpine.LSU.1.00.0803111350550.3873@racer.site>

```
On Tue, Mar 11, 2008 at 01:52:00PM +0100, Johannes Schindelin wrote:
> Hi,
> 
> On Tue, 11 Mar 2008, Luciano Rocha wrote:
> 
> > I'd like to create a new branch, without any pre-existing data, for
> > purposes similar to git's html/man/.....
> 
> If there is nothing to branch from, there is nothing to branch from.
> 
> You might want to rename your branch (once you have something).
> 
> But then, I do not even understand why you bother.  You can always push to 
> a branch of a different name, and have your principal branch being 
> "master" locally.

It's not a matter of pushing/pulling. I'm referring to local branches
only.

What I'd like to have is, using util-linux-ng as an example:

branch master: util-linux-ng plus local patches
branch vendor: util-linux-ng upstream
branch metadata: information on util-linux-ng, how to compile,
    dependencies, etc.

I'd have no problems with the first branches. But when I wanted to
create the third, that shares no files with the others, I stumbled with
the problem of creating a clean branch. I really didn't want to create a
branch them do "git rm .".

Johannes's tricks did the thing. Thank you all.

Regards,
Luciano Rocha

-- 
Luciano Rocha <luciano@eurotux.com>
Eurotux Informática, S.A. <http://www.eurotux.com/>

```

## Johannes Schindelin, 2008-03-11 14:59

Subject: Re: commit 0? (or: create new empty branch)
Message-ID: <alpine.LSU.1.00.0803111557130.3873@racer.site>
URL: https://gitlist.dev/e/alpine.LSU.1.00.0803111557130.3873%40racer.site
In-Reply-To: <20080311144515.GB12258@bit.office.eurotux.com>

```
Hi,

On Tue, 11 Mar 2008, Luciano Rocha wrote:

> On Tue, Mar 11, 2008 at 01:52:00PM +0100, Johannes Schindelin wrote:
> 
> > On Tue, 11 Mar 2008, Luciano Rocha wrote:
> > 
> > > I'd like to create a new branch, without any pre-existing data, for 
> > > purposes similar to git's html/man/.....
> > 
> > If there is nothing to branch from, there is nothing to branch from.
> > 
> > You might want to rename your branch (once you have something).
> > 
> > But then, I do not even understand why you bother.  You can always 
> > push to a branch of a different name, and have your principal branch 
> > being "master" locally.
> 
> It's not a matter of pushing/pulling. I'm referring to local branches 
> only.
> 
> I'd have no problems with the first branches. But when I wanted to 
> create the third, that shares no files with the others, I stumbled with 
> the problem of creating a clean branch. I really didn't want to create a 
> branch them do "git rm .".
> 
> Johannes's tricks did the thing. Thank you all.

My tricks?

I know, you do not have to reply, but you should have taken a bit more 
care there.

BTW the recommended way is really to go outside and push (slight variation 
on Hannes' 2nd method):

# create new repository
$ mkdir new-root && cd new-root && git init

# initialise master branch
$ vi <file> && git add <file> && git commit <file>

# push it into the original repository as a new branch
$ git push .. master:refs/heads/<new-branch>

Ciao,
Dscho

```
