Git and Github Basics - Part 1

Git and Github Basics - Part 1

What is Git?

Git is a distributed version control system developed by Linus Torvalds in 2005, commonly used for tracking changes in source code during software development.

It allows multiple developers to collaborate on a common project and helps to update the project from time to time, track the progress, merge the contributions and maintain the history of the project development.

Git can be installed on any operating system using the link: https://git-scm.com/downloads

What is GitHub?

GitHub is a web-based platform that provides hosting for git repositories. It allows developers to manage and store their code.

Anyone can signup on GitHub using github.com and host their repositories for free. More than this, they contribute to other developers' open-source projects too.

Version Control System

The version control system is a system that allows you to track and manage changes to files and documents over time. It's particularly valuable in software development and other collaborative projects where multiple people are working on the same set of files.

Benefits of Using Git and GitHub

Git

  • Distributed version control

  • Branching and merging

  • History Tracking

  • Backup and Redundancy

Github

  • Remote repository hosting

  • Collaboration tools

  • Issue tracking

  • Continuous Integration and Deployment

Alternatives of GitHub?

Several alternatives to GitHub offer similar version control and collaboration features. Some of them are:

  1. GitLab

  2. Bitbucket

  3. AWS CodeCommit

  4. GitKraken

  5. Sourceforge

Git and GitHub Basic Terms

Repository: A repository (or repo) is a collection of files and their revision history. A repository can be local or remote.

Clone: To clone a repository means to create a copy of it on our local machine (downloading files to our machine).
command: git clone

Commit: A commit is a snapshot of the changes we've made to the files in your repository.
command: git commit

Pull: To pull changes means to fetch changes from a remote repository and merge them into our local branch.
command: git pull

Push: To push changes means to send our local commits to a remote repository.
command: git push

Merge - Merge is a command that is used to merge the changes from one branch to another branch.
command: git merge

Sources

Git: https://git-scm.com/

GitHub: https://github.com/