Menu

Log in

Sign up

From beginner to master of web design, coding, infrastructure operation, business development and marketing

  • COURSES
  • HTML & CSS Introduction
  • HTML & CSS Coding with AI
  • Linux Introduction
  • Docker Basics
  • Git & GitHub Introduction
  • JavaScript Coding with AI
  • Django Introduction
  • AWS Basics
  • Figma Introduction
  • SEO Tutorial for Beginners
  • SEO with AI
  • OTHERS
  • About
  • Terms of Service
  • Privacy Policy

© 2024 D-Libro. All Rights Reserved

Git & GitHub IntroductionChapter 5. Work With Branches

Chapter 5. Work With Branches

How to Work with Branches in Git

When you add new features while continuing development on the main codebase, managing multiple versions of the code becomes essential. Git branches enable developers to work on different versions of a project simultaneously without affecting the main development. In this chapter, we’ll explore Git branches, their lifecycle, and key Git commands that facilitate efficient version control.

What We Cover in This Chapter

The following topics are covered in this chapter:

Git Regular Workflow – Work With Branches

In this section, we’ll explore how branches function in a typical Git workflow. We will cover six essential Git commands used for branch operations, including git branch, git checkout, git switch, git merge, git rebase, and git stash.

What Is a Branch?

In this section, we’ll explain the concept of branches in Git. A branch is an independent line of development that records a separate commit history. We'll explore the benefits of branching, including parallel development and efficient collaboration.

Branch Operation Basic Life Cycle

We’ll walk through the fundamental lifecycle of a Git branch, from creation to merging or deletion. This section will help you understand how branches evolve within a repository.

Create Branch and Check Branch Status – Git Branch

In this section, we’ll cover the git branch command, explaining how to create, check, and delete branches.

Switch Current Branch (1) – Git Checkout

We'll explain how to switch between branches using git checkout. Additionally, we’ll cover how to create and switch to a new branch in a single command.

Switch Current Branch (2) – Git Switch

This section introduces git switch, a modern alternative to git checkout, making branch switching more intuitive.

Merge Branches – Git Merge

We’ll explain how to combine changes from different branches using git merge. You’ll learn different merging techniques and scenarios.

Fast-Forward Merge

Fast-forward merges occur when no additional commits have been made on the base branch since the feature branch diverged. We’ll illustrate how this process works in Git.

Non-Fast-Forward Merge (No Option)

In this section, we’ll explore the case where the main branch has evolved independently, requiring a new commit to integrate the changes.

Non-Fast-Forward Merge (--no-ff Option)

This section covers the --no-ff option, which enforces a new commit during the merge, preserving the feature branch’s history.

Squash Merge

Squash merges help streamline the commit history by consolidating multiple commits into a single commit before merging. We’ll walk through the --squash option.

Rebase Branch – Git Rebase

Rebasing allows developers to move the base of their branch onto another branch’s latest state. This section covers the git rebase command and its benefits.

Managing Conflict

Merge conflicts arise when Git cannot automatically integrate changes. This section explains how to identify, resolve, and finalize merge conflicts.

Stash Changes – Git Stash

The git stash command allows you to temporarily save your changes without committing them. We’ll explore how to use stash for handling work-in-progress code.

Learn offline for better focus!
A book for this course is available on Amazon.

Git & GitHub Visual Guide

The Hands-On Manual for Complete Beginners to Master Version Control and Remote Coding Collaboration

Your browser does not support the video tag.
Get the Book Now

More Topics to Explore

Switching Users in Linux

su (Switch User)

Creating a Remote Repository on GitHub

Project Initiator – Create Remote Repository

Copying and Pasting in Vim Editor Normal Mode

Normal Mode (3) – Copy and Paste

Introduction to Shell Scripting

Shell Script

Using Context in Django Views and Templates

Context

Switching Users in Linux

su (Switch User)

Creating a Remote Repository on GitHub

Project Initiator – Create Remote Repository

Copying and Pasting in Vim Editor Normal Mode

Normal Mode (3) – Copy and Paste

Introduction to Shell Scripting

Shell Script

Using Context in Django Views and Templates

Context

Tags:

Git

GitHub

Branch

Git & GitHub Introduction
Course Content

Chapter 1. Git & GitHub Overview

What Is Git?

What Is Version Control?

How To Save Versions in Git?

Collaborating on Git & GitHub – Remote Repository

Collaborating on Git & Git Hub – Branch

Git & GitHub Basic Life Cycle

Chapter 2. Git & GitHub Initial Settings

Git & GitHub Initial Settings Overview

Key Tool Preparation (1) – Mac

Key Tool Preparation (2) – Windows

Key Tool Preparation (3) – Linux Remote Server

Git User Settings – git config

Create GitHub Account

GitHub Access Authentication Settings

Generating PAT (Personal Access Token)

GitHub SSH Setup

Chapter 3. Git & GitHub Project Setup

Three Cases in Git & GitHub Project Setup

Git & GitHub Project Setup Overview in Different Cases

Building Remote Collaboration Practice Environment

Project Initiator – Key Steps To Launch Git Project

Project Initiator – Create Local Repository (git init)

Project Initiator – Make the First Commit

Project Initiator – .gitignore File

Project Initiator – Create Remote Repository

Project Initiator – Link Between Remote and Local Repositories (git remote add)

Project Initiator – Upload Local Repository to Remote Repository (git push)

Project Initiator – Grant Remote Repository Access to Project Members

Project Member – Start Project As Collaborator

Project Member – Create Copy of Project Code on Local Computer (git clone)

Non-Member – Start Project With Replica of Existing Repository (Fork)

Fork vs. Clone

Chapter 4. Edit & Commit

Git Regular Workflow – Edit & Commit

Edit and Commit Overview (1)

Add Files to Staging Area – git add

Commit Files – git commit

HEAD and INDEX

Check Status of Working Tree and Staging Area – git status

Check Commit Histories – git log

Check Differences – git diff

Restore Files to Working Tree – git restore

Undo Changes – git reset

Delete Files – git rm

Edit and Commit Overview (2)

Chapter 5. Work With Branches

Git Regular Workflow – Work With Branches

What Is Branch?

Branch Operation Basic Life Cycle

Create Branch and Check Branch Status – Git Branch

Switch Current Branch (1) – Git Checkout

Switch Current Branch (2) – Git Switch

Merge Branches – Git Merge

Fast-Forward Merge

Non-Fast-Forward Merge (No Option)

Non-Fast-Forward Merge (--no-ff Option)

Squash Merge

Rebase Branch – Git Rebase

Managing Conflict

Stash Changes – Git Stash

Chapter 6. Remote Collaboration

Git Regular Workflow – Remote Collaboration

Remote Collaboration Overview

Link With Remote Repository – Git Remote

Upload to Remote Repository – Git Push

Download Remote Repository and Merge to Local Repository – Git Pull

Get Remote Repository Information to Local Repository – Git Fetch

Pull vs. Fetch

Request for Review and Merge – Pull Request

Merge Operation Using GitHub

Chapter 7. Supplemental Topics

Git Key Commands and GitHub Key Features

Git & GitHub Glossary

GitHub Other Features

Chapter 1. Git & GitHub Overview

What Is Git?

What Is Version Control?

How To Save Versions in Git?

Collaborating on Git & GitHub – Remote Repository

Collaborating on Git & Git Hub – Branch

Git & GitHub Basic Life Cycle

Chapter 2. Git & GitHub Initial Settings

Git & GitHub Initial Settings Overview

Key Tool Preparation (1) – Mac

Key Tool Preparation (2) – Windows

Key Tool Preparation (3) – Linux Remote Server

Git User Settings – git config

Create GitHub Account

GitHub Access Authentication Settings

Generating PAT (Personal Access Token)

GitHub SSH Setup

Chapter 3. Git & GitHub Project Setup

Three Cases in Git & GitHub Project Setup

Git & GitHub Project Setup Overview in Different Cases

Building Remote Collaboration Practice Environment

Project Initiator – Key Steps To Launch Git Project

Project Initiator – Create Local Repository (git init)

Project Initiator – Make the First Commit

Project Initiator – .gitignore File

Project Initiator – Create Remote Repository

Project Initiator – Link Between Remote and Local Repositories (git remote add)

Project Initiator – Upload Local Repository to Remote Repository (git push)

Project Initiator – Grant Remote Repository Access to Project Members

Project Member – Start Project As Collaborator

Project Member – Create Copy of Project Code on Local Computer (git clone)

Non-Member – Start Project With Replica of Existing Repository (Fork)

Fork vs. Clone

Chapter 4. Edit & Commit

Git Regular Workflow – Edit & Commit

Edit and Commit Overview (1)

Add Files to Staging Area – git add

Commit Files – git commit

HEAD and INDEX

Check Status of Working Tree and Staging Area – git status

Check Commit Histories – git log

Check Differences – git diff

Restore Files to Working Tree – git restore

Undo Changes – git reset

Delete Files – git rm

Edit and Commit Overview (2)

Chapter 5. Work With Branches

Git Regular Workflow – Work With Branches

What Is Branch?

Branch Operation Basic Life Cycle

Create Branch and Check Branch Status – Git Branch

Switch Current Branch (1) – Git Checkout

Switch Current Branch (2) – Git Switch

Merge Branches – Git Merge

Fast-Forward Merge

Non-Fast-Forward Merge (No Option)

Non-Fast-Forward Merge (--no-ff Option)

Squash Merge

Rebase Branch – Git Rebase

Managing Conflict

Stash Changes – Git Stash

Chapter 6. Remote Collaboration

Git Regular Workflow – Remote Collaboration

Remote Collaboration Overview

Link With Remote Repository – Git Remote

Upload to Remote Repository – Git Push

Download Remote Repository and Merge to Local Repository – Git Pull

Get Remote Repository Information to Local Repository – Git Fetch

Pull vs. Fetch

Request for Review and Merge – Pull Request

Merge Operation Using GitHub

Chapter 7. Supplemental Topics

Git Key Commands and GitHub Key Features

Git & GitHub Glossary

GitHub Other Features