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
Understanding Git Global vs Local Configuration
📖 Scenario: You are setting up Git on your computer to manage your projects. Git allows you to set configuration options either globally (for all projects) or locally (for a specific project).Understanding the difference helps you control your identity and preferences in different projects.
🎯 Goal: You will learn how to set and view Git configuration settings globally and locally, and understand which settings apply in each case.
📋 What You'll Learn
Use git config --global to set global configuration
Use git config --local to set local configuration
Use git config --list --global to view global settings
Use git config --list --local to view local settings
Understand the difference between global and local Git configuration
💡 Why This Matters
🌍 Real World
Developers often use global Git settings for their name and email to identify themselves in commits across all projects. Local settings allow customizing identity or preferences per project, such as when working on shared or company projects.
💼 Career
Understanding Git configuration is essential for software developers, DevOps engineers, and anyone collaborating on code. It helps maintain clear commit history and project-specific settings.
Progress0 / 4 steps
1
Set your global Git user name
Use the command git config --global user.name "Alice Global" to set your global Git user name.
Git
Hint
Global configuration applies to all Git projects on your computer.
2
Set your local Git user name for a project
Use the command git config --local user.name "Alice Local" to set your local Git user name inside the current Git project folder.
Git
Hint
Local configuration overrides global settings for this project only.
3
View your global Git configuration
Use the command git config --list --global to display all global Git configuration settings.
Git
Hint
This shows the global settings you set earlier.
4
View your local Git configuration
Use the command git config --list --local to display all local Git configuration settings for the current project.
Git
Hint
This shows the local settings which override global ones in this project.
Practice
(1/5)
1. What is the main difference between git config --global and git config --local?
easy
A. Local config is stored in the user's home directory.
B. Global config applies only to the current project; local config applies to all projects.
C. Global config overrides local config settings.
D. Global config applies to all projects; local config applies only to the current project.
Solution
Step 1: Understand global configuration scope
Global configuration applies settings to all Git projects on the computer, stored in the user's home directory.
Step 2: Understand local configuration scope
Local configuration applies only to the current Git project and overrides global settings if both exist.
Final Answer:
Global config applies to all projects; local config applies only to the current project. -> Option D
Quick Check:
Global = all projects, Local = current project [OK]
Hint: Global is for all projects, local is project-specific [OK]
Common Mistakes:
Confusing which config applies globally or locally
Thinking local config is stored in home directory
Assuming global config overrides local config
2. Which of the following commands correctly sets the user email only for the current Git project?
easy
A. git config --global user.email "user@example.com"
B. git config --system user.email "user@example.com"
C. git config user.email "user@example.com"
D. git set user.email "user@example.com"
Solution
Step 1: Identify the correct command for local config
By default, git config without --global or --system sets local config for the current project.
Step 2: Check command syntax
git config --local is valid but optional; git config user.email "user@example.com" is the simplest correct form.
Final Answer:
git config user.email "user@example.com" -> Option C
Quick Check:
Local config uses git config without --global [OK]
Hint: Use git config without --global for local settings [OK]
Common Mistakes:
Using --global when wanting local config
Using invalid command like git set
Assuming --local is mandatory
3. Given these commands run in order inside a Git project:
Local config overrides global config when both exist for the same key.
Step 2: Analyze the commands
First sets global user.name to "GlobalUser", then local user.name to "LocalUser". The last command reads the effective user.name, which is local.
Final Answer:
LocalUser -> Option B
Quick Check:
Local overrides global, so output is LocalUser [OK]
Hint: Local config overrides global for same key [OK]
Common Mistakes:
Assuming global config always shows
Thinking last set value globally is used
Confusing output with error
4. You ran git config --local user.name "Alice" but git config user.name still shows "Bob". What is the most likely problem?
medium
A. You are not inside a Git repository directory.
B. You used --local incorrectly; it should be --global.
C. The global config is overriding the local config.
D. The user.name key is misspelled.
Solution
Step 1: Check local config requirements
Local config applies only inside a Git repository folder. Outside, local config commands fail silently or do not apply.
Step 2: Understand why global shows instead
If outside a repo, local config is ignored, so global config value "Bob" is shown.
Final Answer:
You are not inside a Git repository directory. -> Option A
Quick Check:
Local config needs repo folder [OK]
Hint: Local config works only inside a Git repo folder [OK]
Common Mistakes:
Assuming global always overrides local
Using wrong option --global instead of --local
Misspelling config keys
5. You want to set your Git user email globally but override it with a different email for a specific project. Which sequence of commands achieves this?