
Getting started with an Introduction to Version Control Systems
We will understand the need for using a Version Control System while working on Software development.
The Version Control Systems are divided into two types, the Distributed Version control and Centralized Version Control system. Each has its own advantages and disadvantages.
Let's understand the components of the Centralized Version Control System and how it works?
Let's understand the components of Distributed Version Control System and how it works with an example.
Welcome to the DVCS tool, the GIT. Why Git is so favorite among Software developers. Let's understand the strong selling points of GIT.
Now that we understand What is Git, We will go ahead and Install Git on our Windows or Linux machine.
Let's see how we can start tracking our Project code using Git Version control. We will get to know the commands to start working with Git from command line.
We learnt in section about what's a VCS and types of Version Control, i.e. DVCS and CVCS. How do we get Git installed on Windows and Linux OS. How to start keeping version of every file change.
Understand the areas in Git local repository, like working directory, staging and repository database. Which has object is created with git add command and git commit command.
How to look inside the hash objects for a version in Git, Understand the relations between different hash objects for a commit in Git.
In this chapter we will use Git commands to work with our Local Git repository, adding users, comparing versions, and manipulating version history.
Git can be integrated with tools like Jenkins (Ci/CD) and JIRA (bug tracking) and also used in multi user environment.
Working in a team environment while developing any application code always brings many challenges. The first and the foremost is the integration challenge. How do developers working on the same application code base, but different application modules manage to merge their code. Fixing the conflicts will always be a big challenge. Git makes it much easier to work in team environment and fix such conflicts.
In this lecture we will demonstrate, how we can implement the theory that we looked in the last lecture, in our project by creating branches and see what is git workflow.
In this Section, we started with understanding the way git manages the project history. How the git version repository, database objects are created and how each object has relation with other data objects in the repository. We also looked at some useful and often used commands.
We looked at how git maintains file information and file version history as, snapshots.
We got to know how restoring a file in repository working folder is easier as compared with other version control system.
Understand how Git local and remote repositories are connected using some of the Git commands. See, how repository contents are pushed to remote repository to share it with team members.
GitHub is a git-based version control system that is accessed using a web interface. It is a hosting service for git. Along with hosting your project code repository, GitHub offers number of other features like, bug or issue tracking, project management, team collaboration, code review, CI/CD, Binary Package Management, wikis and many more like features.
Like GitHub GitLab is also a Code hosting platform, with features that help you to automate application Build process, Issues management, Review process, Project tracking and management, hosting package repositories, CI/CD Pipeline vulnerability assessment, code vulnerability scan, Derive analysis of pipeline performance., etc.
Let's understand some of the important concepts in Git and that are Git workflows.
In this Section, we looked into GitHub and GitLab and mainly the various functionalities that we have in these tools for a project workflow management. Functionalities like, Package and Binary repository, CI/CD, Issue management, Web-IDE, Wiki pages, vulnerability assessment, code review and so on.
In this course, we will touch upon some of the important commands and concepts that will make it easy for us to take our journey to understand and work with GIT. We will get hands-on with GIT commands and we will clear our Version control concepts. We will also understand the difference between a Distributed version control system and Centralized version control system.
We will understand how we can track the code changes history and concept of Git snapshot history. we will start with creating GIT code repository and see how to use GIT in Team environment. How team members can share code with each other using GIT remote repositories. How does the Local and remote repositories in GIT are synched using simple commands.
We will understand the concept of GIT workflow and see how it works practically.
We will also take an overview of GitHub and GitLab as web-based tools and understand GitHub and GitLab used as code repository along with features like bug or issue tracking, project management, team collaboration, code review using Pull request and Merge request feature, Continuous Integration and Continuous Delivery (CI/CD), binary package management, code vulnerability assessment, code vulnerability scan, Derive analysis of pipeline performance, Wikis, etc.