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