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
Editor Configuration with Git
📖 Scenario: You are working on a software project using Git. To make sure your commit messages are clear and consistent, you want to set up your Git editor to use nano, a simple text editor.
🎯 Goal: Learn how to configure Git to use nano as the default editor for commit messages.
📋 What You'll Learn
Create a Git configuration file with user name and email
Add a configuration to set the default Git editor to nano
Verify the editor configuration
Display the current Git editor setting
💡 Why This Matters
🌍 Real World
Setting the Git editor helps you write clear commit messages and improves collaboration in software projects.
💼 Career
Knowing how to configure Git is essential for developers, DevOps engineers, and anyone working with version control.
Progress0 / 4 steps
1
Create Git user configuration
Create a Git configuration file named .gitconfig in your home directory with the following exact entries: [user] section containing name = Alice and email = alice@example.com.
Git
Hint
The .gitconfig file uses INI format. Use square brackets for sections and indent keys with tabs.
2
Add editor configuration
Add a new section [core] to the existing .gitconfig file with the exact entry editor = nano to set nano as the default Git editor.
Git
Hint
Remember to add the new section after the existing user section.
3
Verify editor configuration with Git command
Write the exact Git command git config --get core.editor to check the current editor setting.
Git
Hint
This command shows the value of the core.editor setting in Git.
4
Display the editor configuration output
Run the command git config --get core.editor and print its output exactly as nano.
Git
Hint
The output should be exactly the editor name nano.
Practice
(1/5)
1. What does the Git configuration setting core.editor control?
easy
A. The text editor Git uses for commit messages and other editing tasks
B. The default branch name for new repositories
C. The username for Git commits
D. The remote repository URL
Solution
Step 1: Understand the purpose of core.editor
This setting tells Git which text editor to open when you need to write commit messages or other text inputs.
Step 2: Identify what core.editor does not control
It does not affect branch names, usernames, or remote URLs, which are controlled by other settings.
Final Answer:
The text editor Git uses for commit messages and other editing tasks -> Option A
Quick Check:
core.editor = text editor setting [OK]
Hint: core.editor sets your commit message editor [OK]
Common Mistakes:
Confusing core.editor with branch or user settings
Thinking it sets remote URLs
Assuming it changes Git commands behavior
2. Which of the following is the correct command to set Vim as the default editor for Git globally?
easy
A. git config --global core.editor nano
B. git config --global core.editor vim
C. git set core.editor vim
D. git config core.editor --global vim
Solution
Step 1: Recall the correct syntax for setting Git config globally
The correct command uses git config --global core.editor <editor>.
Step 2: Identify the correct placement of options and editor name
git config --global core.editor vim correctly places --global before the key and sets the editor to vim.
Hint: Use 'git config --global core.editor editorname' [OK]
Common Mistakes:
Swapping order of --global and key
Using 'git set' instead of 'git config'
Placing --global after the key
3. Given the command git config --global core.editor "code --wait", what happens when you run git commit?
medium
A. Git opens VS Code and waits until you close it before completing the commit
B. Git opens VS Code but immediately completes the commit without waiting
C. Git throws an error because of the spaces in the command
D. Git uses the default editor ignoring this setting
Solution
Step 1: Understand the meaning of code --wait
The --wait flag tells VS Code to pause Git until the editor window is closed.
Step 2: Predict Git's behavior on commit
Git will open VS Code and wait for you to finish editing the commit message before proceeding.
Final Answer:
Git opens VS Code and waits until you close it before completing the commit -> Option A
Quick Check:
Editor with --wait pauses Git until done [OK]
Hint: Use --wait flag so Git waits for editor to close [OK]
Common Mistakes:
Ignoring the --wait flag effect
Assuming Git commits immediately
Thinking spaces cause errors without quotes
4. You set your editor with git config --global core.editor "code", but when you run git commit, Git does not wait for VS Code to close and commits immediately. What is the likely problem?
medium
A. VS Code does not support the -w option
B. You need to add a --wait flag for Git to wait
C. The command should be git config core.editor code without quotes
D. Git requires the editor command to block until exit, but VS Code runs in background
Solution
Step 1: Understand Git's requirement for editors
Git expects the editor command to block (wait) until the editor closes to capture the commit message.
Step 2: Analyze VS Code behavior
VS Code runs asynchronously by default and returns control to Git immediately unless --wait is specified.
Final Answer:
Git requires the editor command to block until exit, but VS Code runs in background -> Option D
Quick Check:
Editor must block Git until done [OK]
Hint: Editor must block Git until closed to save commit [OK]
Common Mistakes:
Assuming code blocks by default
Removing quotes causing parsing errors
Expecting Git to add --wait automatically
5. You want to configure Git to use Emacs as your editor, but only for a single repository, not globally. Which command correctly sets this?
hard
A. git config local core.editor emacs
B. git config --global core.editor emacs
C. git config core.editor emacs
D. git config --system core.editor emacs
Solution
Step 1: Understand Git config scopes
Global config applies to all repos, local config applies to current repo only, system config applies to all users on the machine.
Step 2: Identify the correct command for local repo setting
Using git config core.editor emacs without --global or --system sets the editor only for the current repository.
Final Answer:
git config core.editor emacs -> Option C
Quick Check:
Local config = no --global or --system [OK]
Hint: Omit --global to set editor for current repo only [OK]