//https://www.youtube.com/watch?v=APNWCe56cQA

Monday, January 8, 2024

Code Repository Maintenance: Overview of Git

 


Maintaining your code repository with Git is like having a superpower for your coding journey. Git isn’t just a storage space; it’s your sidekick, helping you share work seamlessly, fix conflicts, and even travel back in time with versioning. It makes coding with others a breeze, allowing multiple developers to work on the same project without chaos. Git is your backstage pass to the world of efficient code management, ensuring your code dance is always in sync.

In the world of platforms hosting your code, Git has found its home in several popular hubs. GitHub is like a social club for coding, GitLab is an all in one powerhouse, Bitbucket plays well with Jira, SourceForge is a community driven choice, and Azure DevOps by Microsoft offers a suite of tools. These platforms make Git even more powerful, tailoring it to fit different projects and teams.

Let’s explore few frequent used git commands and concepts

Clone: Cloning in Git is like making a copy of your project, ready for some tinkering and experimentation.

  git clone https://github.com/username/repository.git 

Add: The “Git add” stage is like getting your code ready for the big show. It takes your changes and turns them into a masterpiece, ready to be showcased.

 git add file.txt  

Commit: A commit in Git is like taking a snapshot of your project. It captures all the changes and keeps a record of how your code has evolved.

 git commit -m "Add new feature"  

Each commit represents a new version of one or multiple files, meticulously documenting changes. This systematic recording of project states enables developers to navigate through different versions, providing a detailed history of the codebase’s evolution. With each commit, Git empowers teams to track modifications, understand the project’s journey, and seamlessly revert to earlier states if needed. It’s the cornerstone of versioning, ensuring a comprehensive and organized timeline for collaborative coding.

Branch: Branching in Git is like creating different workspaces for your team. It lets developers work on new features without messing up the main project.

  git branch feature-branch  

Merge: Git merge is like blending different branches into a smooth mix. It combines everyone’s work into one cohesive project.

 git merge feature-branch  

Pull: Git pull is like a gentle breeze that keeps your code fresh. It fetches changes from the main project, making sure your version stays in tune.

  git pull origin main 

Push: Git push is like putting your finished work on the stage for everyone to see. It makes your contributions part of the whole project.

 git push origin feature-branch

Fetch: Git fetch is like quietly checking for updates without disturbing your own work. It keeps you in the loop, letting you decide when to merge changes.

 git fetch

Checkout: Git checkout is like having a backstage pass to move between different parts of your project. It gives you flexibility in exploring your code’s evolution.

 git checkout feature-branch

Pull Request: A Git pull request is like sending an invitation for a collaborative dance. Developers propose changes, and if everyone agrees, those changes become part of the main project.

Reverse Merge: Reverse merging in Git is like taking a step back when things go wrong. It undoes changes and brings your project back to a stable version, acting as a safety net. Below example shows steps on how to reverse merge feature-branch with master branch.

 
 git checkout master
 git pull
 git fetch origin master
 git checkout feature-branch
 git merge FETCH_HEAD

Below diagram shows basic sequences of git


As a best practice it is recommended to fork dev branch from master branch and do all the changes in feature branches forked from the dev branch. Once everything ready for release merge dev branch to master and perform a release.

In the journey of code evolution, Git is the conductor making sure everything stays in harmony. Whether it’s creating new workspaces, merging different pieces, or stepping back when needed, Git is your partner in efficient code management. It’s not just a tool; it’s the guardian of your project’s story, ensuring that every change adds to the overall masterpiece. Git is the beauty of collaboration in the ever-evolving world of software development.

No comments:

Post a Comment

How to create new EC2 machine using existing EC2 instance in AWS

If you are an AWS user working with EC2 instances, there is a high chance of needing to clone existing EC2 instances. The steps below descri...