Skip to content

Instantly share code, notes, and snippets.

@ozh
Last active March 3, 2024 13:42
Show Gist options
  • Star 82 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save ozh/4734410 to your computer and use it in GitHub Desktop.
Save ozh/4734410 to your computer and use it in GitHub Desktop.
Create a new empty branch in Git
$ git checkout --orphan NEWBRANCH
$ git rm -rf .

--orphan creates a new branch, but it starts without any commit. After running the above command you are on a new branch "NEWBRANCH", and the first commit you create from this state will start a new history without any ancestry.

You can then start adding files and commit them and they will live in their own branch. If you take a look at the log, you will see that it is isolated from the original log.

@delano
Copy link

delano commented Aug 25, 2021

A complete example from a 2021 perspective starts with renaming master -> main. Then:

$ git checkout --orphan NEWBRANCH
$ git rm -rf .
$ touch .gitignore && git add .gitignore
$ git commit -m "Initialize with .gitignore"
$ git checkout main
$ git reset --hard NEWBRANCH

@manukurubalaji
Copy link

how to create new empty branch in repository plz update command

@airtonix
Copy link

airtonix commented Jun 24, 2022

deploy_empty_branch(){
  commit_id=$(git commit-tree -m "New empty $1 branch" 4b825dc642cb6eb9a060e54bf8d69288fbee4904)
  git push origin ${commit_id}:refs/heads/$1
}

deploy_empty_branch gh-pages

https://www.edwardthomson.com/blog/pushing_an_empty_branch.html

@hman278
Copy link

hman278 commented Aug 1, 2022

instead of creating a new empty branch this wiped all my project files and weeks of work are now gone :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment