Published on

Complete git tutorial for beginners

Authors
  • avatar
    Name
    Marcio Moreira Junior

Introduction

Are you looking to manage your code efficiently? Understanding Git is crucial in today's dev-centric world, especially as DevOps practices become more pervasive. With its powerful features for version control, collaboration, and automation, Git is a must-know tool for both budding developers and seasoned professionals. This tutorial will guide you through the critical aspects of Git, focusing on practical examples that will enhance your version control skills.


Understanding Git and Its Importance

Git is a distributed version control system (DVCS) that allows multiple developers to work on a project concurrently while tracking changes. Unlike traditional version control systems, Git doesn’t rely on a central server, empowering local repositories for flexibility and speed.

Getting Started with Git

Installation

Before diving into Git commands, you first need to install Git on your machine. Here are the installation steps for different platforms:

On Ubuntu Linux:

sudo apt update
sudo apt install git

Verify the Installation

After installation, check if Git is installed successfully by running:

git --version

Expected Output:
git version 2.x.x (the version number may vary)

Configuring Git

Next, set up your Git configuration with your name and email, which will be associated with your commits:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Initializing a Git Repository

To start using Git, you need to create a repository. Here’s how to do this:

Create a New Repository

Navigate to your project directory and initialize Git:

cd /path/to/your/project
git init

Expected Output:
Initialized empty Git repository in /path/to/your/project/.git/

Essential Git Commands

Tracking Changes

Once your repository is set, you can start tracking changes. Use the following commands to stage and commit changes:

Staging Changes

To stage all changes in your working directory:

git add .

Committing Changes

After staging, commit the changes:

git commit -m "Initial commit"

Troubleshooting Tip: If you make a mistake in your commit message, you can amend the last commit:

git commit --amend -m "New commit message"

Branching and Merging

Branching allows you to work on different features without affecting the main codebase. To create and switch to a new branch:

git checkout -b feature-branch

Switching back to the main branch can be done with:

git checkout main

Merging Changes

After completing your feature, switch back to the main branch and merge:

git merge feature-branch

Collaboration and Remote Repositories

Adding a Remote Repository

To collaborate with other developers, you can add a remote repository (e.g., on GitHub or GitLab):

git remote add origin https://github.com/username/repository.git

Pushing Changes

After making changes, push your commits to the remote repository:

git push origin main

Pulling Changes

To fetch and integrate changes from the remote repository to your local branch, use:

git pull origin main

Conclusion

Mastering Git is essential in modern software development and DevOps practices. This tutorial has provided fundamental insights into using Git, from installation to collaboration. Continual practice of Git commands will increase your proficiency and support efficient project management. Consider exploring advanced Git features such as rebasing and stashing as you grow more comfortable with the basics.