GIT is by far, the world’s most famous and widely used modern version control system. Whenever a product is designed, it might a game, an Android app, iOS web, web project using Django, node, ruby etc, that product is not finished in one go. Every product needs revision that we commonly know as updates. In order to push those updates and test out many such features, a proper version controlling system is a must.
Without such a version controlling system, it tough to release anything new and keep track of it. Git is a mature, actively maintained open source project, that was originally developed by Linus Torvalds, creator of Linux operating system kernel. Git is so popular now that most IDE supports it as default.
If you want to work in any product based company, Git is an essential thing that you should be aware of. And git is way more than just 4 commands that most people are aware of. GIT comes with a lot of features like code tracking, branching, merging, stashing, forking, tags and lots of others.
One more thing, nowadays most companies are looking at uses Git online profile. It’s the easiest way to check your coding skills. You can upload your projects in the public domain and can prove your authority over that subject matter and can prove your skills even if you don’t have a company working experience. It’s something like you are creating your own experience and proving it with your git profile.
Another great feature of it is team collaboration. To build any great product you have to work in a team. Managing code files, while working in a team can be a nightmare. But with proper knowledge of GIT, you can work with your teammate. But remember, just by knowing 4 commands on GIT, you can make a mess for your entire team. Don’t be that person and understand what GIT is in detail.
Further, we will also explore about online repo’s of git such as Github, bitbucket, GitLab etc.
So, join me up and catch you inside the course.
Introduction to git
Learn and understand the importance of GIT
Git is used for collaboration in projects. Almost all programming language are compatible with GIT
Windows comes with pre built autocompletion of GIT but MAC needs some configuration
Understanding the GIT architecture is important as it will clear a lot of future concepts
Let's initialise our first git repository
Let's learn about git log messages. We will revisit this topic in future
Git works on SHA-1 and checksum is the core foundation of GIT
HEAD is the concept that keeps track of all files
Getting into files
Let's revisit the whole concept, once again
Let's learn about diff command to track difference in GIT files
Not just add, GIT also keeps track about files that are removed.
Learn about reset command and un-staging files
Let's learn about GIT integrity
let's learn to restore our project from past state
Reset are of 3 types in GIT, soft, mixed and Hard. let's explore them
Let's learn to manually ignore some files from being tracked.
Let's talk about common files to ignore, before pushing to any online repo
Sometimes, GIT don't track things, things like empty folders. Let's explore it
There are some tricks that we can use in GIT, these are alternatives and not pure git features.
Git for team managements
Let's explore about tree listing
Time to revisit Git logs as they can be really powerful
Let's move and learn about branching in GIt
Let to create new branched in GIT
Learn to move from 1 branch to other
Learn to rename and delete branches, safely
Learn what is merging in GIT
While merging, fast forward is one type of merging.
While merging, conflicts is the most common thing to resolve.
Learn, what is stashing in GIT
Learn to use stashing feature in multiple branches
now let's clear our stash.
GIt and GitHub
Learn about online hosting of repos
Let's create an account at GIThub
Let's push our local repo to remote repo
Learn to add more user for a collaboration in a project.
Learn to merge from origin master
Let's learn about contributing in open source projects.
Tags and tickets
Tagging is another concept in GIT, that is helpful in ticketing system
Tags in git are not automatically pushed to GITHUB