GIT Course

00 Introduction

00:00 📚 Introduction to the GitHub series

  • Introduction to the GitHub series.
  • How to accept invitations to access course materials on Box Drive.
  • Recommendations for using Box Drive and watching videos.

03:42 📋 Course Content Overview

  • Overview of the course content.
  • Explanation of topics covered, including Git installation, architecture, commit, logs, branching, and more.
  • Emphasis on practical implementation and hands-on experience.

07:08 🚫 Terms and Conditions

  • Explanation of payment options and upcoming price changes.
  • Strong emphasis on not sharing Box Drive login credentials to avoid account termination.
  • Highlighting the importance of adhering to terms and conditions for using the course materials.

01 GIt Install On Mac

00:00 🛠️ Git Installation on Mac

  • Installation of Git on a Mac machine using Terminal.
  • Run Brew install git to download Git.
  • Verify the Git version using git --version.

01:10 🚀 Setting Environment Variables

  • Setting up environment variables for Git in Mac’s bash profile.
  • Ensure you use the Brew-installed Git by modifying the PATH.
  • Check Git version to confirm successful setup.

02 GIT Archiecture Diagram

00:00 🏗️ Internal Architecture of Git

  • Git maintains a snapshot of code in different stages, such as working copy, local copy, and the remote repository.
  • The primary components include the working copy, local repository, stage, and remote repository.
  • Understanding this architecture is crucial for working with Git.

01:36 📂 Working Copy and Remote Repository

  • The working copy is where developers write and edit code.
  • The remote repository, often on a platform like GitHub, stores the code and its branches.
  • The working copy and remote repository are essential parts of Git’s architecture.

03:11 📦 Staging and Committing Changes

  • To move code from the working copy to the local repository, use “git add” to stage the changes.
  • “Git commit” creates a snapshot in the local repository with a commit message.
  • Commits don’t automatically push code to the remote repository.

05:43 🔄 Pull and Fetch

  • “Git pull” combines fetching and merging, updating the local repository and working copy.
  • “Git fetch” updates the local repository but doesn’t affect the working copy.
  • Understanding the difference between pull and fetch is essential for code synchronization.

03 First Remote Repo

00:00 🏗️ Creating a Remote Repository on GitHub

  • To push code to a remote repository, you need to create one on GitHub.
  • The process involves logging into GitHub, clicking the plus icon, and creating a new repository with a name and optional description.
  • You can choose to make the repository public or private, depending on who should access it.

02:07 🌐 Remote Repository URL Options

  • After creating a remote repository, you’ll have both HTTPS and SSH URLs.
  • The HTTPS URL is for secure access via HTTP, while the SSH URL is for Git.
  • You can share the repository’s URL with others for collaboration.

03:03 📁 Preparing for Your First Commit

  • With your remote repository set up, the next step is to learn how to push your first commit to it.
  • This action will enable you to start collaborating and sharing your code on GitHub’s cloud platform.

04 GIT First Commit

00:00 📚 Setting Up a Local Git Repository

  • The video begins with an explanation of setting up a local Git repository using Eclipse.
  • Key takeaways:
  • You can use Eclipse, IntelliJ, or other code editors for this process.
  • Creating a Java project and organizing packages is part of the setup.

02:17 🛠 Initializing and Configuring Git

  • This section covers initializing Git in your project and configuring it.
  • Key takeaways:
  • Initializing Git with git init registers your project with Git.
  • Configuration details are stored in the .git folder.

06:29 📂 Ignoring Unnecessary Files with .gitignore

  • Explains how to use a .gitignore file to ignore unnecessary files.
  • Key takeaways:
  • .gitignore helps exclude files like compiled classes and IDE-specific settings.
  • Keep only source code files in your repository.

13:41 📝 Staging, Committing, and Pushing

  • Demonstrates the process of staging, committing, and pushing your code.
  • Key takeaways:
  • Use git add . to stage your changes.
  • git commit -m "message" commits your changes to the local repository.
  • git push origin Master pushes your code to the remote repository.

05 GIT 2nd Commit Add Edit Delete Files

00:00 📝 Introduction to making changes in Git

  • Learn how to make changes in your local Git repository.
  • Understand the process of updating, deleting, and adding files in Git.

02:07 🔄 Adding and staging changes

  • Explore how to use ‘git add’ to stage changes for committing.
  • Learn to stage specific files or entire directories.
  • Understand the significance of staging changes before committing.

04:34 💾 Committing changes

  • Discover the ‘git commit’ command to create a commit with a message.
  • See how to provide a meaningful commit message for your changes.
  • Understand the concept of versioning through commits.

05:43 🚀 Pushing changes to a remote repository

  • Learn how to use ‘git push’ to send your local changes to a remote repository.
  • See the changes reflected on GitHub after pushing.
  • Explore the commit history and commit IDs on GitHub.

07:23 📜 Viewing commit history

  • Understand how to view the commit history using ‘git log’ and ‘git log –oneline’ commands.
  • Explore commit details, authors, dates, and commit IDs.
  • Learn how to exit the commit history view.

06 Git Logs VariousLogs

00:00 📜 Git Log Overview

  • git log provides a complete commit history with details like commit ID, author, date, and commit message.
  • You can filter the log based on specific criteria like author, date, and commit message.

01:40 🕵️ Filtering Git Log

  • You can filter the log by author using --author to find commits by a specific contributor.
  • You can filter by date using --before and --after to see commits within a certain time frame.

05:04 🔍 Searching in Git Log

  • Use git log --grep to search for specific keywords or strings in commit messages.
  • You can filter commits based on the files that were modified using git log -- <file>.

07 GIT View Commit

00:00 📜 Exploring Git Commit Information

  • Understanding how to check a commit’s history and related information.
  • Overview of adding and committing new files in Git.

03:23 🕵️ Viewing Commit Details

  • Using the git show command to inspect the last commit and its changes.
  • How to see the specific details of a commit using git show with a commit ID.
  • Examining the most recent commit with git show head.
  • Checking changes in a file from the last commit with git show head: <file_path>.

07:33 🤓 Git Show Commands

  • Summarizing the importance of Git show commands for viewing commit details.
  • Practical usage of these commands in a project, including interviews.
  • Preparing for understanding and explaining Git commit information effectively.

08 GIT Diff

00:00 🧭 Understanding Git Diff Command

  • Git diff is used to compare changes between the staged code and the working copy.
  • You can see the differences between what’s committed and what’s in your working copy.
  • It helps you analyze changes before committing.

01:08 🔄 Comparing Working Copy and Staged Code

  • Git diff command can show the specific differences between your working copy and the staged code.
  • It highlights what changes you’ve made in your working copy but haven’t committed yet.
  • Useful for understanding the state of your code before committing.

02:33 📊 Comparing Two Different Commits

  • You can use Git diff to compare two different commits by providing their commit IDs.
  • This helps you see the exact differences between two specific points in your project’s history.
  • Useful for tracking changes and identifying what was added or modified between two commits.

09 GIT ShortLog Blame

00:00 💡 Introduction to “git short log” and its purpose

  • “git short log” is used to determine the contributors and their commit counts for a specific repository.

00:41 💼 Exploring “git blame” and its usage

  • “git blame” is used to find the author of each line in a specific file.
  • It helps identify the contributor’s name and commit information for individual lines.

These sections provide an understanding of “git short log” and “git blame” commands, their purposes, and how they help track contributors and commits in a Git repository.

10 GIT Local Branching Process WorkFlow

00:00 🌱 Understanding the Need for Branching

  • Working directly on the master branch is not a good practice.
  • To work on specific features or bug fixes, you should create new branches.

01:21 🏗️ Creating a Feature Branch

  • How to cut a new branch from the master branch.
  • Switching your working copy to the new feature branch.
  • Making changes and commits in the feature branch.

02:44 🔄 Pushing Code to the Feature Branch

  • The process of pushing code to the feature branch.
  • Creating a pull request (PR) for code review.
  • Merging the feature branch into the master branch after PR approval.

03:54 📊 Managing Multiple Feature Branches

  • Managing multiple feature branches for different development tasks.
  • Keeping the master branch stable and up-to-date with feature branches.
  • The importance of working in separate branches to avoid introducing bugs into the master branch.

05:17 🐞 Risks of Working Directly on the Master Branch

  • The dangers of working directly on the master branch.
  • Introducing bugs and errors that can impact other developers’ work.
  • Best practices for collaborative development with Git.

07:25 🧮 Visualizing the Branching Process

  • Creating a visual representation of the branching process.
  • Demonstrating how developers create and work on separate feature branches.
  • Highlighting the importance of taking the latest code using git pull.

11:11 🔄 Taking the Latest Code Using git pull

  • The process of taking the latest code from the remote repository using git pull.
  • How to ensure that your local copy is up to date with changes made by other developers.

18:54 🎯 Summary and Practical Demonstration Promise

  • Summarizing the branching process and its importance.
  • Promising a practical demonstration in the next video to illustrate the concepts discussed.

11 GIT Create Branch PushToRemote

00:00 📚 Understanding Branches in Git

  • Git repositories have a default Master Branch when pushing code to the remote site.
  • Creating a new branch, like a feature branch, allows for code isolation.

02:28 🌿 Creating and Switching to a New Branch

  • Use git branch to create a new branch, e.g., git branch card.
  • Use git checkout to switch to the new branch, e.g., git checkout card.

04:20 📄 Making Changes and Committing to a Branch

  • Modify files in your branch.
  • Use git add and git commit to stage and commit changes.

06:27 🚀 Pushing Code to a Remote Branch

  • Use git push to push your branch’s code to the remote repository.
  • The branch is created remotely, and your changes are visible there.

07:52 🔄 Merging Code to Master Branch

  • Merging combines code from a feature branch to the master branch.
  • Taking the latest pull in your local environment helps update the code with the latest changes.

10:55 🔄 Updating Code in the Same Branch

  • To update code in the same branch, modify files, add, commit, and push the changes.
  • Regularly pushing changes to the same branch in the remote repository is essential for feature development.

12 GIT Various Branching Commands

00:00 🌿 Checking and Creating Branches

  • Learn how to check the number of branches in your local repository.
  • Understand how to switch between branches using git checkout.
  • Discover how to create a new branch with git checkout -b or simply git switch.

01:19 🔄 Switching and Deleting Branches

  • Understand the difference between the git switch and git checkout commands.
  • Learn how to delete a specific branch in your local repository using git branch -D.
  • Explore branch deletion from the remote repository with git push -d origin.

02:27 📃 Comparing Branch Commits

  • Learn how to list commits in a feature branch that are not available in the master branch using git log master..card.
  • Understand how to view the exact differences between branches with git diff master..card.

03:34 🌐 Viewing Remote Branches

  • Discover how to check the remote branches available in your repository with git branch -r.
  • Understand how to delete a remote branch using git push -d origin.
  • These sections provide a clear understanding of working with Git branches and how to manage them efficiently.

13 GIT Clone vs Fork

00:00 🤖 Understanding Git Clone and Fork

  • Git Clone is used to create a local copy of a remote repository on your machine.
  • When a new team member joins, they should use Git Clone to set up the project on their local workspace.
  • After cloning, you import the project into your preferred IDE.

02:14 🚀 How to Use Git Clone

  • To use Git Clone, you simply run the command with the URL of the repository you want to clone.
  • It immediately clones the project from the remote to your local machine.
  • Once cloned, you import the project into your IDE to start working on it.

05:11 🍴 Git Fork for Maintaining Remote Repositories

  • Git Fork allows you to maintain a remote repository under your GitHub account.
  • It doesn’t create a local copy but associates the repository with your username on GitHub.
  • Useful when you want to contribute to a project without cloning it locally.
  • This format divides the transcript into sections with clear timestamps, descriptions, and key takeaways, as per your request.

14 GIT Pull Request RemoteMerge Update PR PULL

00:00 🎬 Introduction to practical Git workflow

  • Practical example of using Git for development collaboration.

01:23 🧭 Cloning a Git repository

  • Creating a local copy of a Git repository using the git clone command.

02:46 📁 Navigating the cloned repository

  • Demonstrating how to navigate the cloned repository using commands like cd and ls.

05:07 🔄 Creating and switching branches

  • Creating a new branch for development using git branch and switching to it with git checkout.

07:25 🚀 Adding and committing changes

  • Adding changes to the staging area with git add and committing them with git commit.

08:50 🌐 Pushing changes to the remote repository

  • Pushing local changes to the remote repository using git push.

09:46 📥 Creating a Pull Request (PR)

  • Initiating a Pull Request to merge changes into the main branch on GitHub.

13:59 🛠️ Reviewing and requesting changes

  • Reviewing the code in a PR, adding comments, and requesting changes.

16:05 📝 Making code changes based on review comments

  • Implementing code changes based on review comments to address issues raised during the review.

17:44 ✅ Resubmitting the Pull Request

  • Preparing and resubmitting the PR with the necessary code changes after addressing review comments.

20:02 📜 How to update a pull request in Git

  • Steps to update a pull request in Git,
  • Write a proper sentence in English.
  • Commit the code.
  • Push the code to the remote.

20:28 🔄 Checking and replying to a pull request

  • Responsibilities of a developer when reviewing a pull request,
  • Reply to the pull request.
  • Ensure the code is updated.
  • Check for code changes and provide feedback.

22:16 📌 Viewing updated pull requests

  • Checking the status of a pull request after updates,
  • Reviewing comments and changes.
  • Approving the pull request if everything is in order.

24:49 🚀 Merging a pull request

  • The process of merging a pull request,
  • Reviewer approves the changes.
  • The developer can also merge the code.
  • Confirming the merge with a comment.
  • Finalizing the merge process.

15 GIT Local Merge Use Cases

00:00 🧭 Explanation of the need for local merging in Git.

  • Understanding the importance of keeping your local feature branches up to date with the master branch.
  • The concept of a local merge and why it’s necessary.

02:23 📊 Visual explanation of the branching and local merging process.

  • Visual representation of Git branches and commits.
  • Demonstrating how to perform a local merge using graphical examples.

06:07 🔄 Practical demonstration of local merging in Git.

  • How to update a local branch with the latest changes from the master branch.
  • Steps to merge changes into your local branch.

11:04 🚫 The drawbacks of reverse merging in a local Git workflow.

  • The reasons why reverse merging in your local branch is not recommended.
  • The potential risks of pushing unreviewed code to the master branch.

16 GIT Tag And Releases

00:00 🏷️ Introduction to Git Tagging

  • Git tagging allows you to create multiple tags for your software releases.
  • Tags are associated with specific versions of your project and are an important feature in Git.

01:25 🏷️ Creating a Tag

  • To create a tag, first, make sure your code is committed to the local repository.
  • Use the command git tag followed by the tag name to create a tag.
  • Then, push the tag to the remote repository using git push.

03:00 🏷️ Creating Multiple Tags

  • You can create multiple tags for different versions of your project.
  • Each tag is associated with a specific release and has its own ZIP file for distribution.
  • Tags make it easy for users to download and access specific versions of your project.

04:25 🏷️ Creating Releases

  • Tags can be used to create releases from specific versions of your project.
  • You can add details, such as a title and description, to the release.
  • Releases are a convenient way to make your software available to users in a structured manner.

07:13 🏷️ Deleting Tags

  • If you need to delete a tag, you can use the git tag -d command.
  • Deleted tags will be removed from your local repository.
  • Remember that tags deleted locally may still exist in the remote repository.

17 GIT Merged No Merged Branches

00:00 📂 Identifying Merged Branches

  • You can use the “git branch –merged” command to list all the merged branches in your repository.
  • Merged branches are those that have been successfully integrated into the current branch.

00:13 🌐 Understanding Merged Branches

  • When you run “git branch –merged,” it will display branches that have been merged into the current branch.
  • For instance, if you see “master” and “RP” branches listed, it means these branches have been merged.

00:28 📑 Listing Unmerged Branches

  • To view unmerged branches, you can use the “git branch –no-merged” command.
  • Unmerged branches are those that have not yet been integrated into the current branch.
  • In the example, “card” and “Naveen” are listed as unmerged branches.

18 GIT Fetch vs Pull

00:00 📚 Understanding the Difference between Git Fetch and Pull

  • Git Fetch and Git Pull are commonly used Git commands.
  • Git Fetch copies code from the remote repository to the local repository, but it doesn’t update your working copy.
  • Git Pull combines Git Fetch and Git Merge, updating both the local repository and your working copy.

09:08 📦 Practical Demonstration of Git Fetch and Pull

  • Demonstrated the process of using Git Pull to update the local repository and the working copy.
  • Showed how Git Fetch updates the local repository without affecting the working copy.
  • Highlighted the importance of reviewing changes before merging them into the working copy.

12:54 🔄 Recap and Summary

  • Summarized the key differences between Git Fetch and Pull.
  • Emphasized the use of Git Pull to quickly update both the local repository and the working copy.
  • Provided a practical example of how to use these commands in a real-world scenario.

19 GIT Merge vs Rebase

00:00 🧩 Git Merge Overview

  • Merge is used to combine code from one branch into another.
  • Merging creates a new combined commit, losing the history of the source branch.

02:32 🚀 Git Rebase Introduction

  • Rebase also merges branches but maintains the history of source commits.
  • It creates new commits with different hash codes for the source branch’s commits.

05:31 📊 Practical Comparison: Merge

  • After a merge, the source branch’s commits are combined into a new commit in the target branch.
  • The source branch’s individual commit history is lost in the target branch.

07:48 💡 Practical Comparison: Rebase

  • After a rebase, the source branch’s commits are merged into the target branch with new commit hash codes.
  • The source branch’s individual commit history is preserved in the target branch.

20 GIT Merge vs Rebase Visualization

00:00 📚 Git Introduction and Branch Visualization

  • Introduction to a visualization tool for Git.
  • Explanation of how commits and branches are displayed graphically.

01:12 🌿 Git Merge

  • Demonstration of using Git merge to combine changes from one branch into another.
  • Highlighting that Git merge does not maintain commit history from the source branch.

04:23 🔀 Git Merge Fast Forward

  • Explanation of a fast-forward merge, where the commit history is preserved, and branches are updated.
  • Demonstrating how a linear sequence is created when merging.

06:31 🔄 Git Rebase

  • Introduction to Git rebase and how it combines commits from one branch into another.
  • Caution about potential issues when multiple developers are involved in rebasing.
  • These sections provide insights into Git concepts and visualization, Git merge, fast-forward merge, and Git rebase, and their implications on commit history and branch management.

21 GIT Cherry Pick

00:00 🍒 Introduction to Cherry Picking in Git

  • Cherry picking allows you to select specific commits to apply from one branch to another.
  • It’s a useful feature for picking only the changes you need without merging entire branches.

01:09 🍒 Scenario 1: Selecting Important Commits

  • Use cherry picking to select essential commits from a feature branch and apply them to the master branch.
  • Helpful when you want to quickly fix or add a feature without merging all the feature branch’s commits.

03:00 🍒 Practical Cherry Picking

  • Demonstration of cherry picking in Git.
  • Shows how to select specific commits from one branch and apply them to another.

06:13 🍒 Multiple Commits and Commit IDs

  • The video demonstrates working with multiple commits and commit IDs.
  • The importance of knowing commit IDs for cherry picking is highlighted.

08:22 🍒 Selective Cherry Picking

  • Explains how you can use cherry picking to select specific commits from a branch, excluding incomplete or unnecessary changes.
  • Highlights that cherry picking can be used in both feature and master branches for selective commit application.

22 GIT Stash StashPop Merge Conflict

00:00 📚 Understanding Git Stash and Merge Conflicts

  • Git Stash is used to save work in progress changes before merging or pulling from the remote repository.
  • Merging code from different developers can lead to conflicts that need to be resolved through communication and manual intervention.

07:52 🤖 Taking a Stash and Handling Merge Conflicts

  • When trying to pull changes from the remote repository, Git may require you to stash or remove uncommitted changes to proceed.
  • Stashing your work in progress changes allows you to pull the latest changes and then pop them back when needed.
  • Merge conflicts occur when code changes from different developers overlap, and they must be resolved manually through communication and selective code acceptance.

14:40 🤝 Resolving Merge Conflicts and Using Stash Effectively

  • Resolving merge conflicts requires communication and agreement between developers on which code changes to accept.
  • Git Stash is a useful tool for temporarily saving and later retrieving work in progress changes when dealing with merge conflicts.
  • A step-by-step process involves stashing, pulling, resolving conflicts, and then pushing the code back to the remote repository.

23 GIT Merge Conflict With Latest Pull

00:00 📝 Understanding Merge Conflicts in Git

  • When multiple developers are working on the same file, merge conflicts can occur.
  • Conflicts arise when different developers modify the same code.

02:03 🔄 Resolving Merge Conflicts without Using Stash

  • Taking the latest pull without using stash can lead to conflicts.
  • Resolve conflicts by editing the code manually, removing conflicting sections, and committing the changes.

05:23 🔄 Updating Code after Conflict Resolution

  • After resolving merge conflicts, update the code and commit the changes.
  • Push the modified code to the remote repository to ensure other developers have access to it without conflicts.

24 GIT Minor Merge Conflict UseCases

00:00 📝 Introduction to minor merge conflicts

  • Explains the concept of minor merge conflicts in Git.
  • Describes the scenario where both the local and remote code are the same, and changes are made by different developers.

01:10 🚧 Resolving conflicts using stash

  • Discusses the options of committing or stashing local changes when faced with a merge conflict.
  • Explains the rationale behind committing code only when it’s ready and using stash for work in progress.

03:31 🔄 Stashing and resolving conflicts

  • Demonstrates the use of stash to temporarily save and remove local changes.
  • Shows how to pop a stash and resolve conflicts when they reappear after stashing.

05:48 🆚 No conflict with direct overwrite

  • Illustrates a scenario where a minor change in local code directly overwrites remote code without conflict.
  • Emphasizes that conflicts may occur when two developers update the same code differently.

07:11 📝 Adding new lines without conflict

  • Explains that adding new lines to code that already exists in the remote repository does not result in conflicts.
  • Demonstrates how additional lines can be added without affecting existing code.

08:34 🚫 Push rejection due to remote changes

  • Discusses the scenario where pushing code is rejected because the remote repository contains changes not present in the local repository.
  • Emphasizes the need to take the latest pull to integrate remote changes before pushing.

25 GIT Aliases

00:00 🔍 Custom Aliases in Git

  • Creating custom aliases for Git commands.
  • Example of creating an alias for “git checkout.”
  • Using custom aliases to simplify Git commands.

01:24 📂 Alias for Creating Git Branch

  • Demonstrating how to create an alias for creating a Git branch.
  • Using the “git BR” alias to list all branches.
  • Customizing Git commands for convenience.

02:31 🖋️ Alias for Git Commit

  • Creating an alias for Git commit with “git CI.”
  • Simplifying the commit process using aliases.
  • Adding a commit message with “git CI -m.”

03:46 📃 Alias for Git Status

  • Creating an alias for checking Git status with “git St.”
  • Using aliases to streamline common Git operations.
  • Demonstrating how to check Git status after making changes.

04:20 📜 Alias for Git Log

  • Creating an alias for viewing Git log with “git last.”
  • Simplifying the command to see the last Git commit.
  • Customizing Git aliases for convenience.
  • This format provides concise information about each section, making it easy to follow and understand.

26 GIT Comparing Two Commits Using Git Diff

00:00 🔍 Comparing Two Commits Using Git Diff

  • Explanation of how to compare two commits using Git diff,
  • Demonstrates comparing commits using ‘git diff’ command,
  • Shows how to check the differences between two commits for specific files.

Please let me know if you need more specific sections or information related to this topic.

27 GIT Reset Commit Undoing Commits Soft Mixed Hard Force Push

00:00 🤖 Introduction to Git Reset

  • Git Reset is essential for managing commits.
  • There are three types of Git Reset: soft, mixed, and hard.

02:17 📌 Soft Reset

  • Soft Reset removes the last commit but retains the changes in the stage and working copy.
  • It is useful when you want to keep your changes but remove a commit.

07:21 🧲 Mixed Reset

  • Mixed Reset removes the last commit and unstages changes, but retains them in the working copy.
  • It’s handy when you want to uncommit and unstage changes but keep them in your working directory.

13:46 💥 Hard Reset

  • Hard Reset removes the last commit, untracks changes in the stage, and also deletes them from the working copy.
  • It’s a powerful reset option that should be used with caution.

28 GIT Revert Commits

00:00 🔄 Understanding Git Revert

  • Git Revert allows you to undo the last commit while preserving the commit history.

01:19 ⚙️ Reverting a Specific Commit

  • When you use Git Revert, it reverts the changes made in the specified commit, creating a new revert commit.
  • It doesn’t remove the entire file but only the changes made in that commit.
  • The revert operation generates a new commit with a clear reason and a new commit ID.

04:20 🛠️ Resolving Revert Conflicts

  • When reverting multiple commits, conflicts can occur due to commit history and changes being reverted.
  • You need to resolve these conflicts by choosing which changes to keep and which to remove.
  • Git Revert helps maintain commit history even during the conflict resolution process.

I love open-source technologies and am very passionate about software development. I like to share my knowledge with others, especially on technology that's why I have given all the examples as simple as possible to understand for beginners. All the code posted on my blog is developed, compiled, and tested in my development environment. If you find any mistakes or bugs, Please drop an email to, or You can join me on Linkedin.

Leave a Comment