git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: creating a new branch without an ancestor

From
Wesley J. Landaker <wjl@icecavern.net>
Date
Feb 5, 2010, 18:38 UTC
Message-ID
<80b2e7a2e4025acdad6e869fdeb9aab7.squirrel@webmail.icecavern.net>
In-Reply-To
<d2e97e801002041919r2043d05cjfb114a466605d9a1@mail.gmail.com>
On Thu, February 4, 2010 20:19, Michael Wookey wrote:
Show 10 quoted lines
> Maybe I'm missing something from reading the docs, but I couldn't see
> how to create a new branch in an existing repo that has no ancestor. I
> would like to do something like what git.git does with some of the
> other ancillary branches like "man", "html", and "todo".
>
> I was hoping to do something like "git branch --no-ancestor
> new-branch-name" but didn't see anything in the documentation that
> describes the necessary branch options.
>
> Or, am I looking in the wrong place?

I do this all the time for various reasons, so I made myself a "git-emptybranch" command and stuck it in my path. Besides the error checking, this just creates a new ref and clears the index so you can start from a clean slate. No actual files are deleted from the work-tree.

$ cat ~/bin/git-emptybranch
#!/bin/sh
if [ $# -ne 1 ]; then
  2<&1
  echo "usage: git emptybranch <new_branch>"
  exit 1
fi
if ! git check-ref-format refs/heads/"$1"; then
  2<&1
  echo "fatal: '$1' is not a valid branch name."
  exit 1
fi

git symbolic-ref -m "git emptybranch $1" HEAD refs/heads/"$1" git rm --cached -r -q --ignore-unmatch -- '*'

Previous: Jay Soffian
Message 4 of 4 in “creating a new branch without an ancestor”
  1. Michael WookeyFeb 5, 2010
  2. Larry D'AnnaFeb 5, 2010
  3. Jay SoffianFeb 5, 2010
  4. Wesley J. LandakerFeb 5, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.