Git Quick Start Guide
TLDR
- Make sure to install Git on your computer.
- Windows: Download and install Git and Git for Windows
- MacOS: Run
git --version
. This will prompt you to install Git if not already installed. - Linux: Run
sudo apt install git-all
orsudo dnf install git-all
depending on your distribution.
- Check Git has been installed with
git --version
in a Bash Terminal. - Configure your identity for commits with the
git config
command:
Pre-requisites
Pre-requisite | Importance | Note |
---|---|---|
Introduction to Git | Necessary | It is important to get an understanding of Git before starting to use it |
Install Git
Installing Git is a simple and straightforward process. You might have it already installed on your system, however, it is good to verify and make sure you are using the latest version of Git.
Download Git from the Git-SCM website. In addition, install Git for Windows, which is a project that provides additional tools to use Git in the Windows OS, including Git Bash and Git Credential Manager (GCM).
Info
During the installation of Git for Windows, you will be asked to select a credential helper, with GCM listed as the default. It is recommended that you keep this set to GCM as it will enable caching of remote repository credentials in the GitHub and GitLab quick start guides.
Once installed, open Git Bash to verify it is installed:
In the Terminal run:
This will detect if Git is installed and provide the version number if it is. If it is not installed, it will prompt you to install it.
Once installed, run the above command again to check it is installed.
Git is normally already installed on Linux, but it is good to update to the latest version anyway.
You can install Git through the package management tool that comes with your distribution of Linux:
Once installed, run the following command verify it is installed:
First-Time Configuration
Now that you have Git on your system, there are a few things you can do to customise your Git environment. To do this we are going to use the git config
tool.
We are going to use the --global
flag to set these values for all your repositories.
Why does Git need these details?
Git uses these details in every commit you make; it is immutably baked into them.
When you later examine the Git history, you will be able to see who did what.
The first properties we are going to set are your name and email address:
git config --global user.name "Peter Parker"
git config --global user.email "peterparker@example.com
You can confirm they have been set with the following commands:
Optional Settings
Default Editor
Next, we can configure the default text editor that will be used when Git needs you to type in a message. This is optional, as if this property is not set, Git will just use your systems default editor.
We can use the following commands to configure this setting:
- The
--wait
flag instructs Git to wait for the message file to close before continuing.
There are a wide variety of editors for you to use. Use the one that suits you.
The Pro Git Book has an appendix section with how to set different editors.
Setting your default branch name
When you create a new repository with git init
, Git will by default call the branch master
. More recently, it has become convention to set your default branch to main
, as it is a more neutral term.
To change this setting, run:
Other settings
We can set a lot of other settings with git config
, although usually is best to leave these settings be, especially as a beginner. However, as you get to grips with Git, you might want to further tweak your experience:
- Git Aliases are a great way to create shorthand commands.
- Credential Storage allows you to change the default method for storing HTTP passwords.
- Git Configuration explains all parts of the
git config
command and what you can do.
Checking your configuration settings
You can view all of your settings in two ways:
The .gitconfig
file for global configuration variables is normally stored in the $HOME
directory. For Windows users this is usually C:\Users\$USER
. For MacOS and Linux this is usually /home/$USER
.
If you have set your configuration setting with other locality flags (--system
or --local
), take a look at the Pro Git book section on First-Time Git Setup.
Try Git Out
We have a full detailed walkthrough of using Git for the first time to commit work. However, let's quickly go through some commands to ensure your set up is working correctly.
Try Git Out
In a suitable place on your computer, this can be your $HOME
folder (usually C:\Users\$USER
for Windows or /home/$USER
for MacOS and Linux), or any other folder where you want to store repositories:
-
Create a new folder, call it
my_first_repository
. You can do this manually or via the command line using the make directory,mkdir
, command: -
Move into the folder via the command line:
-
Initialise a repository:
-
Create a empty file called
new_file.txt
with the touch command: -
Add the new file to the staging area and start tracking it:
-
Commit the file. Add a simple message using the
-m
flag:If you have set your editor in the optional settings above, you can test it out by leaving off the
-m "<message>"
from thegit commit
. This will prompt the default editor to open. Write your commit message there and then close to submit it. -
View your recent commit with
git log
. Pressq
to exit the pager view of the log:
Next Steps
Now that you have set up your Git environment, you will want to set up your access to a remote repository service such as GitHub or GitLab. This will enable you clone repositories from internet, as well as push and back-up your local repositories and start collaborating on them.
External Links Disclaimer
NHS England makes every effort to ensure that external links are accurate, up to date and relevant, however we cannot take responsibility for pages maintained by external providers.
NHS England is not affiliated with any of the websites or companies in the links to external websites.
If you come across any external links that do not work, we would be grateful if you could report them by raising an issue on our RAP Community of Practice GitHub.