Git Complete Hands on Training for Web Developers
Git is one of the most popular version control tool available in the market. Git is Number One choice for every Web developer, no matter if you are a Java developer or a .Net developer or a Salesforce Developer, you will need a version control tool to keep track of the changes in your project.
Git is free and a open source version control system. Git is distributed version control system whereas the other older version control system like SVN and CVS are centralized. Because Git is distributed, every developer has its own repository on the local file system. With Git, first initial clone of the repository is slow but the subsequent functions like commit,diff,merge and log are faster.
Git has great support for branching,merging,rebasing. With the help of Git powerful tool set you can even rewrite history.
Git is the most common and widely used version control system in the world today and its the modern standard to develop software.
With this course you’ll learn how to master the world of distributed version workflow, use the distributed features of Git to the full extent, and extend Git to meet your every need.
This course is not just plain -old power-point presentation, we will learn by doing and by the end of this course you will become an expert with Git Version control.
Introduction to Git: Version Control System
In this tutorial we will talk about version control software named Git. We will see how this Git is a powerful tool when it comes to keeping track of your changes in the project. We will also walk through Different workflows available like Centralized,Distributed Workflows. We will also cover the advantage and disadvantage related to this workflow
In this tutorial I will show you how to install Git GUI and Git bash on your windows laptop.
In this tutorial we will create our first Git repository.
Git config command is used to configure a new repository. So if you want to know who made what changes in the repository,you first need to configure the user name and email. Using git config command you will be able to configure the author name and email so next time if someone makes any change or commit then you will exactly know who made those changes in the project.
Committing changes through Git happens in two step: first step is to stage the changes and the second step is to commit those changes.
Now we have made several changes and several commits to the repository, now we will see how to check our commit history.
In this tutorial we will see how to see our commit history in one line instead of the descriptive long history.
This Quiz is to test the basic understanding of Git
Tagging is very useful when you want to tag specific points in history as important.And these are generally used to mark the release points. For eg: v1.0,v2.0 etc. In this tutorial you will see how to tag a release,how to view the list of tags available,how to create new tags
Git reset, Git revert and git commit are the three most used and popular commands in Git toolbox. In this tutorial we will talk about these commands in detail.
Resetting: If you want to move the tip of the branch to different commit. Reset command is used to remove the commits from the current branch. So in other words,Git reset is used to undo the changes that you haven't shared with anyone yet. So these are used to undo the uncommitted changes.
This quiz contains questions on revert,reset,checkout and tagging
Start our Crazy Experiment with Branches
In this tutorial we will start on our crazy experiment and create a new branch to add our CSS changes for our website.
In this tutorial we will merge our changes to the master and we will delete the development branch.
This quiz contains questions related to branches and merging.
Once we are done making the changes in our development branch, next step is to bring these changes to the main branch or the master. And this is called as merge. Depending on the structure of the repository,merge can either be a fast-forward or 3-way merge.
Difference between a fast-forward and 3-way merge?
A fast-forward merge can occur when there is a linear path from the current branch tip to the target branch.
In fast-forward merge, all Git has to do to integrate the histories is move the current branch tip up to the target branch tip.
But fast-forward merge is not possible when branches are diverged.When there is no linear path to the target branch, then Git has to follow a 3-way merge. 3-way merges uses a dedicated commit to tie together the two histories.
It is called as 3-way commit because Git uses 3 commits to generate the merge commit,
Interactive Rebasing is useful when you want to alter individual commits in the process. With interactive rebase you can clean the commit history by removing,splitting and alter the existing series of commits. Its like git commit --amend on steroids.
This quiz contains question on Rebasing and Merging?
In this tutorial I will show you how to split a generic commit into two or more commits using interactive rebase.
Interactive Rebase helps you to alter commits as they are moved to the new branch. Interactive rebase is more powerful than doing an automated rebase. With interacive rebase you get full control over the branch commit history.
Interactive rebase is also used to clean up a messy history before you merge your changes into master.
Reflog is a mechanism through which Git keep track of the updates to the tip of the branch.
This quiz contains questions on reflog,resetting and rebase.
In this tutorial we will create and configure a remote repository for Mary ( Graphic Designer in our team) so that she can make her contributions to our website project.
Remote repositories are versions of your project that are hosted on the Internet or network somewhere. To collaborate with other developers in the team we need to know how to manage these remote repositories and how to push and pull data to and from these remote repositories.
In this tutorial we will merge the changes from Mary's master branch into our my-git-repo repository.
In this tutorial we will talk about Pushing. And we will see how we can push our changes to other developer repository.
This quiz test your knowledge about remote repositories.
Initializing Git Repository
In this tutorial we will see the difference between personal and centralized Git repository. We will also create our first Centralized repository.
In this tutorial we will create a connection between mary-repo and central-repo, similarly we will establish the connection between my-git-repo and central-repo.We need to establish the connection so that we can fetch and pull our code changes.
In this tutorial we will see how to push to central repository.
In this tutorial we will Git Fetch to retrieve the changes from central repsitory and Git Push to push our changes into centralized repository.
This lecture gives you a quick recap of Centralized repo and the commands we discussed. We will also cover some disadvantages and drawbacks related to centralized repo.
In this tutorial we will take a quick look at Distributed workflow and how is it different than Centralized Workflow. Distributed workflow makes Git very powerful.
In this tutorial, we will create a bitbucket account where we will host our public repository. And my-git-repo and mary-repository will make a connection to this remote repository to transfer future changes/updates.
In this tutorial we will look at the inner workings of distributed workflows.