Git is a distributed version control system. In other words, it is a tool for tracking and managing source code changes. Git is the most popular VCS, and it became a standard tool in any developer stack.
How does Git work?
Building an application, you likely come across with lots of versions of the source code. Git creates a repository inside the project folder, a container that allows Git to track all the changes in the project directory and provides interfaces to control the changes using either terminal or GUI-application. Git repository allows saving the project state (applying commits), reverting changes to any previously saved commit, creating independent branches of the project source code, switching between branches anytime, merging branches changes, etc.
How to use Git?
There are different ways of using Git. I recommend the GitFlow branching model approach. GitFlow is easy to follow and makes Git an efficient tool in your project development flow.
What is GitHub?
GitHub is a web service for hosting Git repositories. By far, it’s the most popular solution for sharing open-source code and project collaboration. GitHub enhances the capacities of Git and provides collaboration features, such as:
- Pull Request is a request for merging one branch to another;
- Code Review is a process of source code changes quality verification performed by project collaborators;
- GitHub Issues is a built-in bug tracking system;
- Project Wiki allows to create and host a project specific documentation;
- Projects is a GitHub task manager that allows creating task boards, assigning issues and pull requests to the boards; and automating task management flow by setting triggers.