Bird
Raised Fist0
Gitdevops~10 mins

Git configuration (user.name, user.email) - Step-by-Step Execution

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
Process Flow - Git configuration (user.name, user.email)
Start
Run git config --global user.name "Name"
Git saves user.name in global config
Run git config --global user.email "email@example.com"
Git saves user.email in global config
Verify with git config --global --list
End
This flow shows setting your name and email in Git's global config, then verifying the saved settings.
Execution Sample
Git
git config --global user.name "Alice"
git config --global user.email "alice@example.com"
git config --global --list
Set your Git user name and email globally, then list all global Git config settings.
Process Table
StepCommandActionResult
1git config --global user.name "Alice"Set user.name to 'Alice' globallyNo output, config updated
2git config --global user.email "alice@example.com"Set user.email to 'alice@example.com' globallyNo output, config updated
3git config --global --listList all global config entriesuser.name=Alice user.email=alice@example.com
💡 All commands executed successfully; user.name and user.email are set globally.
Status Tracker
VariableStartAfter Step 1After Step 2Final
user.nameundefinedAliceAliceAlice
user.emailundefinedundefinedalice@example.comalice@example.com
Key Moments - 3 Insights
Why doesn't the first command show any output?
The first command updates the config silently; no output means success, as shown in execution_table step 1.
How do we confirm the settings were saved?
By running 'git config --global --list' in step 3, which shows the saved user.name and user.email.
What happens if you omit --global?
Without --global, Git sets config only for the current repository, not globally; this is not shown in this trace.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the output of step 3?
AError: user.name not set
Buser.name=Alice\nuser.email=alice@example.com
CNo output
Duser.name=Bob\nuser.email=bob@example.com
💡 Hint
Check the 'Result' column in execution_table row for step 3.
At which step is user.email first set?
AStep 3
BStep 1
CStep 2
DNever
💡 Hint
Look at variable_tracker for user.email changes after each step.
If you run 'git config user.name "Bob"' without --global, what changes?
Auser.name changes only in current repo
Buser.name changes globally
Cuser.email changes globally
DNo changes at all
💡 Hint
Recall key_moments explanation about --global flag effect.
Concept Snapshot
Git config sets user info for commits.
Use: git config --global user.name "Name"
Use: git config --global user.email "email@example.com"
--global saves for all repos on your computer.
Verify with: git config --global --list
Full Transcript
This lesson shows how to set your Git user name and email globally using git config commands. First, you run 'git config --global user.name "Alice"' to set your name. Then, you run 'git config --global user.email "alice@example.com"' to set your email. Both commands update Git's global configuration silently. Finally, you verify the settings by running 'git config --global --list', which lists all global config entries including your name and email. The variable tracker shows user.name and user.email start undefined and get set after the commands. Key moments clarify why no output appears on setting commands and how to confirm the settings. The quiz tests your understanding of the output, when variables change, and the effect of omitting --global.

Practice

(1/5)
1. What is the purpose of setting user.name and user.email in Git configuration?
easy
A. To set the default branch name
B. To enable Git debugging mode
C. To configure the remote repository URL
D. To label your commits with your identity

Solution

  1. Step 1: Understand Git commit metadata

    Git uses user.name and user.email to identify who made each commit.
  2. Step 2: Recognize the role of these settings

    These settings label your work so others know who made changes.
  3. Final Answer:

    To label your commits with your identity -> Option D
  4. Quick Check:

    user.name and user.email = commit identity [OK]
Hint: Remember: name and email tag your commits [OK]
Common Mistakes:
  • Confusing user.name with branch name
  • Thinking user.email sets remote URL
  • Assuming these enable debugging
2. Which command correctly sets your global Git user email to "user@example.com"?
easy
A. git config --email user@example.com --global
B. git config --global user.email user@example.com
C. git config user.email --global user@example.com
D. git set user.email global user@example.com

Solution

  1. Step 1: Recall correct Git config syntax

    The correct syntax is git config --global key value.
  2. Step 2: Match the command to set user.email globally

    git config --global user.email user@example.com matches this syntax exactly.
  3. Final Answer:

    git config --global user.email user@example.com -> Option B
  4. Quick Check:

    git config --global key value sets global config [OK]
Hint: Use 'git config --global key value' format [OK]
Common Mistakes:
  • Swapping order of flags and values
  • Using 'git set' instead of 'git config'
  • Placing --global after the key
3. Given these commands run in order:
git config --global user.name "Alice"
git config user.name "Bob"

What will git config user.name output inside the current repository?
medium
A. Bob
B. No output (empty)
C. Alice
D. Error: user.name not set

Solution

  1. Step 1: Understand global vs local config

    The first command sets user.name globally to "Alice". The second sets it locally to "Bob" in the current repo.
  2. Step 2: Determine which config is used

    Local config overrides global inside the repo, so git config user.name shows "Bob".
  3. Final Answer:

    Bob -> Option A
  4. Quick Check:

    Local config overrides global config [OK]
Hint: Local config overrides global config [OK]
Common Mistakes:
  • Assuming global always overrides local
  • Expecting empty output if local set
  • Confusing command order effects
4. You run git config user.email "wrongemail.com" but your commits still show the old email. What is the likely problem?
medium
A. You forgot to add --global or --local, so it set config in an unexpected scope
B. The email format is invalid, so Git ignored the setting
C. You need to restart Git for changes to apply
D. Git does not allow changing user.email once set

Solution

  1. Step 1: Check command scope

    Without --global or --local, Git sets config in the current repo (local) by default.
  2. Step 2: Understand why commits show old email

    If commits show old email, likely you changed config in a different scope than where commits are made.
  3. Final Answer:

    You forgot to add --global or --local, so it set config in an unexpected scope -> Option A
  4. Quick Check:

    Config scope matters; missing flags cause confusion [OK]
Hint: Always specify --global or --local to avoid confusion [OK]
Common Mistakes:
  • Assuming Git ignores invalid emails silently
  • Thinking Git needs restart after config change
  • Believing user.email is immutable
5. You want to set different user names and emails for two projects on the same computer. How do you configure Git correctly?
hard
A. Set user.name and user.email only locally in one project; global config is ignored
B. Set user.name and user.email only globally; Git automatically detects project differences
C. Set global user.name and user.email once, then override locally per project with git config user.name and git config user.email
D. Use environment variables instead of Git config to set user identity

Solution

  1. Step 1: Understand global and local config roles

    Global config applies to all repos unless overridden locally.
  2. Step 2: Apply local overrides per project

    Set local user.name and user.email in each project to customize identity per repo.
  3. Final Answer:

    Set global user.name and user.email once, then override locally per project with git config user.name and git config user.email -> Option C
  4. Quick Check:

    Global sets default; local overrides per project [OK]
Hint: Global sets default; local overrides per project [OK]
Common Mistakes:
  • Expecting Git to auto-detect project identities
  • Setting only local config and ignoring global
  • Using environment variables instead of config