# BUG

3 messages from 2020-11-04 to 2020-11-04. Participants: Alex Marginean, Randall S. Becker.
Thread: https://gitlist.dev/t/54573

## Alex Marginean, 2020-11-04 16:10

Subject: BUG
Message-ID: <CALG6MqwdCmwS5D_F9+q6UYzGm5ZzLL7Bi=rD7Ph2XE0uccu+xg@mail.gmail.com>
URL: https://gitlist.dev/e/CALG6MqwdCmwS5D_F9%2Bq6UYzGm5ZzLL7Bi%3DrD7Ph2XE0uccu%2Bxg%40mail.gmail.com

```
Hey,

Github has changed the way they name branches, so now instead of the
`master` branch there is the `main` branch however, I'm having some
trouble with the naming

**Steps to replicate my problem**

1. Create a new Github repository and make sure the default branch is `main`
2. Add something to the repo, a `README.md` file should be enough
3. Instead of cloning the repo make a new directory with your repo's
name `mkdir <repo_name>` and change the directory to it `cd
<repo_name>`
4. `git init`
5. Add the remote repo with `git remote add origin <repo_link>`
6. Pull the `main` branch from the remote repo with `git pull origin main`.

After the step number 6. instead of my branch changing to `main` my
current branch is changed to `master` which has every file and change
of the branch `main`. This is a real problem because if I try to push
changes to `main` although my current branch shows up as `master` it
creates another branch called `master` on Github and the `main`
remains unchanged. Yeah sure I can `git checkout main` after that and
make my changes there but I'm not sure why it defaults to `master` and
copies `main` from Github into local branch `master`.

P.S. If you were to use `git fetch origin` instead of `git pull origin
<branch_name> and then manually change branch to `main` with `git
checkout main` it would work. Also, if you were to clone the Github
repo using `git clone <link>` you will get the correct current branch
that is `main`.

Sincerely,
Alex


Thank you for filling out a Git bug report!
Please answer the following questions to help us understand your issue.

What did you do before the bug happened? (Steps to reproduce your issue)

Github has changed the way they name branches, so now instead of the `master` branch there is the `main` branch however, I'm having some trouble with the naming

1. Create a new Github repository and make sure the default branch is `main`
2. Add something to the repo, a `README.md` file should be enough
3. Instead of cloning the repo make a new directory with your repo's name `mkdir <repo_name>` and change the directory to it `cd <repo_name>`
4. `git init`
5. Add the remote repo with `git remote add origin <repo_link>`
6. Pull the `main` branch from the remote repo with `git pull origin main`.

What did you expect to happen? (Expected behavior)

After step 6. I expected to be switched to a branch called `main` that would include every file and change from the `main` branch on the origin. 

What happened instead? (Actual behavior)

After the step number 6. instead of my branch changing to `main` my current branch is changed to `master` which has every file and change of the branch `main`. This is a real problem because if I try to push changes to `main` although my current branch shows up as `master` it creates another branch called `master` on Github and the `main` remains unchanged. Yeah sure I can `git checkout main` after that and make my changes there but I'm not sure why it defaults to `master` and copies `main` from Github into local branch `master`.

What's different between what you expected and what actually happened?

The name of the branch and the duplication of the `main` branch to a branch called `master`.

Anything else you want to add:

P.S. If you were to use `git fetch origin` instead of `git pull origin <branch_name> and then manually change branch to `main` with `git checkout main` it would work. Also, if you were to clone the Github repo using `git clone <link>` you will get the correct current branch that is `main`.

Please review the rest of the bug report below.
You can delete any lines you don't wish to share.


[System Info]
git version:
git version 2.29.2
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /bin/sh
uname: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
compiler info: clang: 12.0.0 (clang-1200.0.32.21)
libc info: no libc information available
$SHELL (typically, interactive shell): /bin/zsh


[Enabled Hooks]
not run from a git repository - no hooks to show

```

## Randall S. Becker, 2020-11-04 17:02

Subject: RE: BUG
Message-ID: <037901d6b2cc$5362e170$fa28a450$@nexbridge.com>
URL: https://gitlist.dev/e/037901d6b2cc%245362e170%24fa28a450%24%40nexbridge.com
In-Reply-To: <CALG6MqwdCmwS5D_F9+q6UYzGm5ZzLL7Bi=rD7Ph2XE0uccu+xg@mail.gmail.com>

```
On November 4, 2020 11:10 AM, Alex Marginean wrote:
> Github has changed the way they name branches, so now instead of the
> `master` branch there is the `main` branch however, I'm having some trouble
> with the naming
> 
> **Steps to replicate my problem**
> 
> 1. Create a new Github repository and make sure the default branch is `main`
> 2. Add something to the repo, a `README.md` file should be enough 3.
> Instead of cloning the repo make a new directory with your repo's name
> `mkdir <repo_name>` and change the directory to it `cd <repo_name>` 4. `git
> init` 5. Add the remote repo with `git remote add origin <repo_link>` 6. Pull
> the `main` branch from the remote repo with `git pull origin main`.

Use git init --initial-branch=main

This assumes a recent version of git.

> 
> After the step number 6. instead of my branch changing to `main` my current
> branch is changed to `master` which has every file and change of the branch
> `main`. This is a real problem because if I try to push changes to `main`
> although my current branch shows up as `master` it creates another branch
> called `master` on Github and the `main` remains unchanged. Yeah sure I can
> `git checkout main` after that and make my changes there but I'm not sure
> why it defaults to `master` and copies `main` from Github into local branch
> `master`.
> 
> P.S. If you were to use `git fetch origin` instead of `git pull origin
> <branch_name> and then manually change branch to `main` with `git
> checkout main` it would work. Also, if you were to clone the Github repo
> using `git clone <link>` you will get the correct current branch that is `main`.

Regards,
Randall
-- Brief whoami:
 NonStop developer since approximately 211288444200000000
 UNIX developer since approximately 421664400
-- In my real life, I talk too much.


```

## Randall S. Becker, 2020-11-04 17:54

Subject: RE: BUG
Message-ID: <037e01d6b2d3$9957f3d0$cc07db70$@nexbridge.com>
URL: https://gitlist.dev/e/037e01d6b2d3%249957f3d0%24cc07db70%24%40nexbridge.com
In-Reply-To: <CALG6MqwdCmwS5D_F9+q6UYzGm5ZzLL7Bi=rD7Ph2XE0uccu+xg@mail.gmail.com>

```
On November 4, 2020 12:03 PM, I wrote:
> To: 'Alex Marginean' <alexmarginean16@gmail.com>; 'git@vger.kernel.org'
> <git@vger.kernel.org>
> Subject: RE: BUG
> 
> On November 4, 2020 11:10 AM, Alex Marginean wrote:
> > Github has changed the way they name branches, so now instead of the
> > `master` branch there is the `main` branch however, I'm having some
> > trouble with the naming
> >
> > **Steps to replicate my problem**
> >
> > 1. Create a new Github repository and make sure the default branch is
> > `main` 2. Add something to the repo, a `README.md` file should be enough
> 3.
> > Instead of cloning the repo make a new directory with your repo's name
> > `mkdir <repo_name>` and change the directory to it `cd <repo_name>` 4.
> > `git init` 5. Add the remote repo with `git remote add origin
> > <repo_link>` 6. Pull the `main` branch from the remote repo with `git pull
> origin main`.
> 
> Use git init --initial-branch=main

You could also use git branch -m master main after the git init if your version of git is too old.

> 
> This assumes a recent version of git.
> 
> >
> > After the step number 6. instead of my branch changing to `main` my
> > current branch is changed to `master` which has every file and change
> > of the branch `main`. This is a real problem because if I try to push
> > changes to `main` although my current branch shows up as `master` it
> > creates another branch called `master` on Github and the `main`
> > remains unchanged. Yeah sure I can `git checkout main` after that and
> > make my changes there but I'm not sure why it defaults to `master` and
> > copies `main` from Github into local branch `master`.
> >
> > P.S. If you were to use `git fetch origin` instead of `git pull origin
> > <branch_name> and then manually change branch to `main` with `git
> > checkout main` it would work. Also, if you were to clone the Github
> > repo using `git clone <link>` you will get the correct current branch that is
> `main`.
> 
> Regards,
> Randall
> -- Brief whoami:
>  NonStop developer since approximately 211288444200000000  UNIX
> developer since approximately 421664400
> -- In my real life, I talk too much.


```
