threads / discuss / 12636

commit 0? (or: create new empty branch)

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

## tl;dr

5 messages between Mar 11, 2008 and Mar 11, 2008.

replies: 4people: 3as markdown or json

Luciano Rocha· Mar 11, 2008, 12:30 UTC · lore
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· Mar 11, 2008, 12:52 UTC · re: Luciano Rocha · lore

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

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

Luciano Rocha· Mar 11, 2008, 14:45 UTC · re: Johannes Schindelin · lore

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

On Tue, Mar 11, 2008 at 01:52:00PM +0100, Johannes Schindelin wrote:
Show 14 quoted lines
> 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· Mar 11, 2008, 14:59 UTC · re: Luciano Rocha · lore

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

Hi,
On Tue, 11 Mar 2008, Luciano Rocha wrote:
Show 24 quoted lines
> 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

Johannes Sixt· Mar 11, 2008, 13:08 UTC · re: Luciano Rocha · lore

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

Luciano Rocha schrieb:
Show 13 quoted lines
> 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

← back to recent threads