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 purpose of the .gitconfig file?
The .gitconfig file stores configuration settings for Git, such as user info, aliases, and behavior preferences.
Click to reveal answer
beginner
How are sections defined in a .gitconfig file?
Sections are defined using square brackets, like [section]. For example, [user] groups user-related settings.
Click to reveal answer
beginner
What is the syntax to set the user email in .gitconfig?
Inside the [user] section, use email = your.email@example.com to set the user email.
Click to reveal answer
intermediate
How can you define a command alias in .gitconfig?
Use the [alias] section and add lines like co = checkout to create shortcuts for Git commands.
Click to reveal answer
intermediate
What is the difference between system, global, and local .gitconfig files?
System config applies to all users on the machine, global config applies to the current user, and local config applies to a specific repository.
Click to reveal answer
Which symbol is used to define a section in a .gitconfig file?
ACurly braces {}
BSquare brackets []
CParentheses ()
DAngle brackets <>
✗ Incorrect
Sections in .gitconfig are defined using square brackets, for example, [user].
Where is the global .gitconfig file usually located?
AIn the repository's root folder
BIn the system's /etc folder
CIn the Git installation folder
DIn the user's home directory
✗ Incorrect
The global .gitconfig file is typically found in the user's home directory, like ~/.gitconfig.
How do you set your Git username in the .gitconfig file?
A[user] name = YourName
B[user] username = YourName
C[username] name = YourName
D[user] user = YourName
✗ Incorrect
The correct syntax is [user] section with name = YourName.
What section would you use to create a shortcut for the Git command checkout?
A[alias]
B[commands]
C[shortcuts]
D[user]
✗ Incorrect
The [alias] section is used to define shortcuts for Git commands.
Which .gitconfig file has the highest priority when Git reads configurations?
ASystem config
BGlobal config
CLocal config
DDefault config
✗ Incorrect
Local config (inside a repository) overrides global and system configs.
Describe the structure of a .gitconfig file and how to set user information.
Think about how you organize settings in groups and assign values.
You got /4 concepts.
Explain the difference between system, global, and local .gitconfig files and when each is used.
Consider who and what each config affects.
You got /4 concepts.
Practice
(1/5)
1. What is the main structure used in a .gitconfig file to organize settings?
easy
A. XML tags with attributes
B. Plain text without any structure
C. Sections with key-value pairs
D. JSON objects and arrays
Solution
Step 1: Understand the .gitconfig format
The .gitconfig file organizes settings into sections, each marked by square brackets, like [user].
Step 2: Recognize key-value pairs inside sections
Within each section, settings are written as key = value pairs, for example, name = John.
Final Answer:
Sections with key-value pairs -> Option C
Quick Check:
.gitconfig uses sections and key-value pairs [OK]
Hint: Look for [section] headers and key = value lines [OK]
Common Mistakes:
Thinking .gitconfig uses JSON or XML
Assuming it's just plain text without structure
Confusing it with other config file formats
2. Which of the following is the correct syntax to set the user email in a .gitconfig file?
easy
A. [user]
email = user@example.com
B. [user]
email: user@example.com
C. user.email = user@example.com
D. { "user": { "email": "user@example.com" } }
Solution
Step 1: Identify section and key-value syntax
In .gitconfig, sections are in square brackets, and keys are assigned values with an equals sign.
Step 2: Check each option's syntax
[user]
email = user@example.com correctly uses [user] section and email = user@example.com format. [user]
email: user@example.com uses colon instead of equals, which is invalid. user.email = user@example.com lacks section brackets. { "user": { "email": "user@example.com" } } is JSON, not valid here.
Final Answer:
[user]
email = user@example.com -> Option A
Quick Check:
Use [section] and key = value syntax [OK]
Hint: Use equals sign (=) inside [section] blocks [OK]
Common Mistakes:
Using colon (:) instead of equals (=)
Omitting section headers
Writing JSON instead of .gitconfig format
3. Given this .gitconfig snippet:
[alias]
co = checkout
br = branch
[user]
name = Alice
email = alice@example.com
What will be the output of git config --get alias.co?
medium
A. checkout
B. co
C. alias.co
D. Error: key not found
Solution
Step 1: Understand alias section usage
The alias section defines shortcuts for git commands. Here, co is set to checkout.
Step 2: Interpret git config --get alias.co
This command fetches the value of alias.co, which is 'checkout'.
Final Answer:
checkout -> Option A
Quick Check:
alias.co = checkout [OK]
Hint: Aliases map short names to commands, check their values [OK]
Common Mistakes:
Expecting the key name instead of its value
Confusing alias names with actual commands
Assuming error if alias exists
4. Identify the error in this .gitconfig snippet:
[core]
editor nano
[user]
name = Bob
medium
A. User name should be in quotes
B. Missing equals sign (=) after editor
C. Section name 'core' is invalid
D. Indentation is not allowed
Solution
Step 1: Check key-value syntax in core section
The line 'editor nano' lacks an equals sign; it should be 'editor = nano'.
Step 2: Verify other parts
The section name 'core' is valid, user name does not require quotes, and indentation is allowed for readability.
Final Answer:
Missing equals sign (=) after editor -> Option B
Quick Check:
Key-value pairs need '=' between key and value [OK]
Hint: Every setting line needs key = value format [OK]
Common Mistakes:
Forgetting the equals sign
Thinking quotes are mandatory for strings
Believing indentation breaks config
5. You want to add a global alias in your .gitconfig to make git st run git status. Which snippet correctly adds this alias globally?
hard
A. [alias]
st = git status
B. [alias]
st: status
C. alias.st = status
D. [alias]
st = status
Solution
Step 1: Understand alias syntax in .gitconfig
Aliases are defined under [alias] section with key = command without 'git' prefix.
Step 2: Evaluate each option
[alias]
st = status correctly sets 'st = status'. [alias]
st: status uses colon instead of equals. alias.st = status uses invalid syntax without section. [alias]
st = git status incorrectly includes 'git' in command.
Final Answer:
[alias]
st = status -> Option D
Quick Check:
Alias commands omit 'git' and use key = value [OK]
Hint: Alias commands omit 'git' and use equals sign [OK]