Configuring Git
Questions
- How do I configure Git?
Objectives
- Configure
git
the first time it is used on a computer. - Understand the meaning of the
--global
configuration flag.
When we use Git on a new computer for the first time, we need to configure a few things. Below are a few examples of configurations we will set as we get started with Git:
- Our name and email address,
- What our preferred text editor is
- That we want to use these settings globally (i.e. for every project, so we don’t need to set it every time we create a new project/repository)
On a command line, Git commands are written as git verb options
, where verb
is what we actually want to do and options
is additional optional information which may be needed for the verb
. So here is how I set up my new laptop:
git config --global user.name "Mike Lynch"
git config --global user.email "m.lynch@sydney.edu.au"
Please use your own name and email address instead of mine. This user name and email will be associated with your subsequent Git activity, which means that any changes pushed to GitHub, BitBucket, GitLab or another Git host server after this lesson will include this information.
For this lesson, we will be interacting with GitHub and so the email address used should be the same as the one used when setting up your GitHub account. If you are concerned about privacy, please review GitHub’s instructions for keeping your email address private.
Using other text editors
If you’d like to use another plain text editor, you can also configure git to use it. Below we provide (and hide) the configuration options for a number of possible options:
Details
Atom
git config --global core.editor "atom --wait"
nano
git config --global core.editor "nano -w"
BBEdit (Mac, with command line tools)
git config --global core.editor "bbedit -w"
Sublime Text (Mac)
git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"
Sublime Text (Win, 32-bit install)
git config --global core.editor "'c:/program files (x86)/sublime text 3/sublime_text.exe' -w"
Sublime Text (Win, 64-bit install)
git config --global core.editor "'c:/program files/sublime text 3/sublime_text.exe' -w"
Notepad (Win)
git config --global core.editor "c:/Windows/System32/notepad.exe"
Notepad++ (Win, 32-bit install)
git config --global core.editor "'c:/program files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Notepad++ (Win, 64-bit install)
git config --global core.editor "'c:/program files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Kate (Linux)
git config --global core.editor "kate"
Gedit (Linux)
git config --global core.editor "gedit --wait --new-window"
Scratch (Linux)
git config --global core.editor "scratch-text-editor"
Emacs
git config --global core.editor "emacs"
Vim
git config --global core.editor "vim"
VS Code
git config --global core.editor "code --wait"
It is possible to reconfigure the text editor for Git whenever you want to change it.
Default branch naming
Git (2.28+) allows configuration of the name of the branch created when you initialize any new repository. We’ll set it to main
:
git config --global init.defaultBranch main
The five commands we just ran above only need to be run once: the flag --global
tells Git to use the settings for every project, in your user account, on this computer.
You can check your settings at any time:
git config --list
You can change your configuration as many times as you want: use the same commands to choose another editor or update your email address.
Key Points
- Use
git config
with the--global
option to configure a user name, email address, editor, and other preferences once per machine.
All materials copyright Sydney Informatics Hub, University of Sydney