Bird
Raised Fist0
Gitdevops~5 mins

Default branch name configuration in Git - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the default branch name in Git when you create a new repository?
The default branch name is usually main in modern Git versions. Older versions used master.
Click to reveal answer
beginner
How can you check the current default branch name in your local Git repository?
You can run git branch --show-current to see the current branch you are on, or check remote default with git remote show origin.
Click to reveal answer
intermediate
How do you change the default branch name for new Git repositories globally?
Use the command git config --global init.defaultBranch <branch-name> to set the default branch name for all new repositories you create.
Click to reveal answer
intermediate
What command initializes a new Git repository with a custom default branch name?
Run git init --initial-branch=<branch-name> to create a new repo with a specific default branch name.
Click to reveal answer
beginner
Why might you want to change the default branch name from 'master' to 'main'?
Changing to main is a modern convention to use more inclusive language and is now the default in Git and many platforms.
Click to reveal answer
Which Git command sets the default branch name globally for new repositories?
Agit branch -m main
Bgit config --global init.defaultBranch main
Cgit checkout -b main
Dgit remote set-head origin main
What is the default branch name used by Git versions before 2.28?
Amaster
Bprimary
Cdefault
Dmain
How do you initialize a new Git repository with the default branch named 'develop'?
Agit init --initial-branch=develop
Bgit branch develop
Cgit checkout develop
Dgit config init.defaultBranch develop
Which command shows the current branch you are working on?
Agit remote show origin
Bgit status
Cgit branch --show-current
Dgit log
Why is 'main' preferred over 'master' as the default branch name?
ABecause 'main' is shorter
BBecause 'master' is deprecated in Git
CBecause 'main' is the only supported name now
DTo follow modern inclusive language practices
Explain how to change the default branch name for all new Git repositories on your computer.
Think about a global Git configuration command.
You got /3 concepts.
    Describe the difference between changing the default branch name for new repositories and renaming the branch in an existing repository.
    Consider commands for new repo setup vs branch rename.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the init.defaultBranch setting in Git control?
      easy
      A. The default user name for commits
      B. The default remote repository URL
      C. The default commit message template
      D. The name of the main branch created when initializing a new repository

      Solution

      1. Step 1: Understand the purpose of init.defaultBranch

        This setting defines the branch name Git uses when you run git init to create a new repository.
      2. Step 2: Identify what it controls

        It controls the default branch name, usually 'master' or 'main', for new repositories.
      3. Final Answer:

        The name of the main branch created when initializing a new repository -> Option D
      4. Quick Check:

        Default branch name = main branch name [OK]
      Hint: Default branch name sets new repo's main branch [OK]
      Common Mistakes:
      • Confusing branch name with remote URL
      • Thinking it sets commit message templates
      • Assuming it sets user info
      2. Which of the following commands correctly sets the default branch name to main globally in Git?
      easy
      A. git set defaultBranch main
      B. git config --global defaultBranch main
      C. git config --global init.defaultBranch main
      D. git init --default-branch=main

      Solution

      1. Step 1: Recall the correct Git config syntax

        The correct syntax to set a global config is git config --global <key> <value>.
      2. Step 2: Match the key for default branch name

        The key is init.defaultBranch, so the full command is git config --global init.defaultBranch main.
      3. Final Answer:

        git config --global init.defaultBranch main -> Option C
      4. Quick Check:

        Use git config --global init.defaultBranch [OK]
      Hint: Use full key: init.defaultBranch with git config [OK]
      Common Mistakes:
      • Omitting 'init.' prefix in config key
      • Using 'git set' instead of 'git config'
      • Trying to set default branch during init command
      3. After running git config --global init.defaultBranch develop, what will be the default branch name when you run git init in a new folder?
      medium
      A. master
      B. develop
      C. main
      D. default

      Solution

      1. Step 1: Understand the effect of the config command

        Setting init.defaultBranch to 'develop' globally changes the default branch name for all new repos initialized after this.
      2. Step 2: Predict the branch name after git init

        When you run git init, the initial branch will be named 'develop' instead of the usual 'master' or 'main'.
      3. Final Answer:

        develop -> Option B
      4. Quick Check:

        Config set to 'develop' means new repos start with 'develop' [OK]
      Hint: New repos use branch name from init.defaultBranch [OK]
      Common Mistakes:
      • Assuming default stays 'master' or 'main'
      • Confusing local repo branch with global config
      • Thinking config affects existing repos
      4. You tried to set the default branch name with git config --global init.defaultbranch main but new repos still use 'master'. What is the problem?
      medium
      A. The config key is case-sensitive; it should be init.defaultBranch
      B. You need to restart your terminal for changes to apply
      C. You must run git init with a special flag to use the new default
      D. The default branch name cannot be changed globally

      Solution

      1. Step 1: Check the config key spelling

        Git config keys are case-sensitive. The correct key is init.defaultBranch with a capital 'B'.
      2. Step 2: Understand why the setting didn't apply

        Using init.defaultbranch (lowercase 'b') creates a different config entry that Git ignores for default branch naming.
      3. Final Answer:

        The config key is case-sensitive; it should be init.defaultBranch -> Option A
      4. Quick Check:

        Config keys are case-sensitive in Git [OK]
      Hint: Check exact case of config keys [OK]
      Common Mistakes:
      • Ignoring case sensitivity in config keys
      • Thinking terminal restart is needed
      • Believing default branch can't be changed
      5. You want all new repositories on your system to start with the branch name stable. How do you set this globally and verify it?
      hard
      A. Run git config --global init.defaultBranch stable and then git config --global init.defaultBranch
      B. Run git init --default-branch=stable and then git branch
      C. Run git config --system init.defaultBranch stable and then git status
      D. Run git set defaultBranch stable and then git config --list

      Solution

      1. Step 1: Set the global default branch name

        Use git config --global init.defaultBranch stable to set the default branch name for all new repos globally.
      2. Step 2: Verify the setting

        Run git config --global init.defaultBranch to confirm the value is set to 'stable'.
      3. Final Answer:

        Run git config --global init.defaultBranch stable and then git config --global init.defaultBranch -> Option A
      4. Quick Check:

        Set with config, verify with config [OK]
      Hint: Set and verify with git config commands [OK]
      Common Mistakes:
      • Using incorrect commands like git set
      • Trying to verify with unrelated commands
      • Using system config without permission