'git init -b <branch name>' command in terminal is throwing an 'unknown switch' error
Solution 1
git
2.24 doesn't have option -b
/--initial-branch
. It was added in git
2.28. You need to upgrade to use the option.
Or, as @matt said, create a repo and then rename the branch:
git init repo
cd repo
git branch -m master slave
Solution 2
The -b
flag is only available in version 2.28 or later, you need to upgrade your Git.
On debian-based Linux systems such as Ubuntu, do the following:
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt update
sudo apt install git -y
Solution 3
prior to git v2.28
git init # ①
git symbolic-ref HEAD refs/heads/main # ②
① After git init
, the branch master
does not actually exist. Branches get created only when they have at least one commit.
② This updates .git/HEAD
to contain ref: refs/heads/main
instead of ref: refs/heads/master
. Alternatively, git checkout -b main
.
git v2.28+
As @phd said, the -b/--initial-branch
option was added in git v2.28. git 2.28 also introduces a config option to specify your preferred default branch:
git config --global init.defaultBranch main
Learn more about the new init.defaultBranch
setting in GitHub's blog post.
Solution 4
In case you need to install the latest git
version (in Ubuntu)
sudo add-apt-repository -y ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git -y
Ref: https://gist.github.com/YuMS/6d7639480b17523f6f01490f285da509
pjgearing
Updated on September 15, 2021Comments
-
pjgearing almost 3 years
I am trying to add an existing project to GitHub using the command line. I am in the relevant working directory in the terminal and am trying to use the
git init -b main
command.Initially, I was getting an error relating to xcode:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
I tried
xcode-select --install
but the software was unavailable from the update server, so I downloaded 'Command Line Tools for Xcode 12' from https://developer.apple.com/download/more/.Now on entering
git init -b main
I am getting the following:error: unknown switch `b' usage: git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]] [<directory>] --template <template-directory> directory from which templates will be used --bare create a bare repository --shared[=<permissions>] specify that the git repository is to be shared amongst several users -q, --quiet be quiet --separate-git-dir <gitdir> separate git dir from working tree
I am running git version: 2.24.3 (Apple Git-128)
Any help much appreciated!
-
matt over 3 yearsJust say git init and then change master to main if you want to.
-
-
Robin A. Meade over 3 years
error: refname refs/heads/master not found. fatal: Branch rename failed
Instead:cd repo; git checkout -b main
-
fguillen almost 3 years@RobinA.Meade I saw that a commit must already exist so the branch
master
exists