Git Setup

This tutorial provides a step-by-step guide to setting up Git after installation. You will learn how to configure Git with your user details, generate SSH keys for secure authentication, set up essential Git preferences, and initialize or clone a repository. These steps ensure a smooth workflow for managing code efficiently.



Configure Git with User Information

When you commit changes in Git, it records your identity as the author of the changes. To ensure your commits are correctly attributed, you must configure Git with your name and email. Run the following commands in Git Bash (Windows) or Terminal (macOS/Linux):

git config --global user.name "Your Name"
git config --global user.email "[email protected]"
  • git config --global user.name "Your Name" sets your name as the author for all Git commits.
  • git config --global user.email "[email protected]" links your commits to your email.
  • The --global flag applies this configuration to all repositories on your system. If you want to set it for a specific repository only, remove --global and run the command inside that repository.

To verify the configuration, run:

git config --list

This will display all configured settings, including your user name and email.


Set Up SSH Keys for Authentication

SSH keys provide secure access to remote Git repositories, such as GitHub, GitLab, and Bitbucket, without repeatedly entering your password.

Step 1: Check for Existing SSH Keys

Before generating a new SSH key, check if one already exists:

ls -al ~/.ssh
  • This lists all files in the ~/.ssh directory.
  • If files like id_rsa.pub exist, you already have an SSH key.
  • Otherwise, proceed to generate a new key.

Step 2: Generate a New SSH Key

If no SSH key exists, create one using the following command:

ssh-keygen -t rsa -b 4096 -C "[email protected]"
  • ssh-keygen is a command-line tool that creates an SSH key pair.
  • -t rsa specifies the RSA algorithm (commonly used for SSH keys).
  • -b 4096 sets the key length to 4096 bits for stronger encryption.
  • -C "[email protected]" adds an optional comment (usually your email) to identify the key.

Press Enter to save the key in the default location (~/.ssh/id_rsa). You can optionally set a passphrase for added security.

Step 3: Start the SSH Agent

The SSH agent is a background process that manages your SSH keys, so you don't need to enter the passphrase each time. Start it with:

eval "$(ssh-agent -s)"

Step 4: Add SSH Key to the SSH Agent

To allow the agent to use your key, add it using:

ssh-add ~/.ssh/id_rsa

Step 5: Add SSH Key to Your Git Hosting Service

Now, copy your SSH public key and add it to GitHub, GitLab, or Bitbucket:

cat ~/.ssh/id_rsa.pub

Copy the output and add it to your preferred Git hosting service under SSH Keys settings.

Step 6: Test the SSH Connection

To verify that everything is set up correctly, run:

ssh -T [email protected]

If successful, you will see a message like:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

This confirms that SSH authentication is working.


Configure Git Global Settings

Git allows you to customize its behavior through global configurations.

Set the Default Branch Name

By default, Git names the first branch master. Some repositories prefer main. Set it using:

git config --global init.defaultBranch main

git config --global init.defaultBranch main sets main as the default branch when creating a new repository.

Enable Color Output for Better Readability

Git outputs messages in color for better visibility. Enable this with:

git config --global color.ui auto

Set Up a Default Text Editor

When writing commit messages, Git opens a text editor. You can set a preferred editor:

VS Code

git config --global core.editor "code --wait"

Nano

git config --global core.editor nano

Notepad++ (Windows)

git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
  • core.editor defines which text editor Git uses for commit messages.
  • "code --wait" ensures VS Code waits for input before closing.

Initialize a New Git Repository

A Git repository is a project folder where Git tracks changes. To start version control for a new project:

mkdir my_project
cd my_project
git init
  • mkdir my_project creates a new project folder.
  • cd my_project moves into that directory.
  • git init initializes an empty Git repository inside the folder, creating a .git directory to track changes.

After initializing a repository, you can start adding and committing files.


Clone an Existing Repository

If you need to work on an existing Git project, you can copy it to your local machine using:

git clone <repository_url>

For example, to clone a GitHub repository:

git clone [email protected]:username/repository.git
  • git clone creates a local copy of a remote repository.
  • <repository_url> is the repository's address on GitHub, GitLab, or another hosting service.

After cloning, you can navigate into the project folder and start working.

Conclusion

By following these steps, you have successfully set up Git, configured global settings, secured authentication with SSH keys, and learned how to initialize and clone repositories. You are now ready to manage your code efficiently using Git!



Found This Page Useful? Share It!
Get the Latest Tutorials and Updates
Join us on Telegram

Keep W3schools Growing with Your Support!
❤️ Support W3schools