November 23, 2019

Vesion Control using GitHub - PART 1


Hello Trailblazers!
In this article, we are going to dig a little deeper to understand why it is important to have version control. Version control or Source control allows developers to work together in an efficient and safe way. It is all about providing more visibility into what’s going on with your code. It allows you to do code reviews. Tools like GitHub, Bitbucket and GitLab all make it easy to have developers review each other’s changes before deploying. 

Differences Between Git and GitHub

Git and GitHub share a name, but they’re not the same thing. Let's try to distinguish exactly where the line is drawn between Git and GitHub. 
In short, Git handles version control and GitHub handles collaboration.

Git Is a Version Control Application

Simply put, Git is the application that keeps track of everything related to the changes on your project over time.

source: sfdc panther

 Let’s start by defining a few key terms:
  • Repositories: A collection of source files used to compile your project.
  • Commits: A snapshot of your project as it existed at a specific point in time. 
  • Branch: A series of commits that represent the changes in your project over time. Every repository has a default branch, which contains the production-ready version of your code. 
  • Merge: The combined history of two or more branches. Most of the time, you’ll merge your feature branch into the default or deployed branch of the repository in order to move the features into production.
  • Tag: A pointer to a specific commit, which provides a persistent reference to an event. Typically, tags are used with semantic versioning to represent points when your application was released.

GitHub Is a Collaboration Platform

GitHub is a host for Git repositories with collaboration features that let you apply and test changes to your code. GitHub is designed to provide a highly transparent and contextual environment for developers to do their best work. GitHub has a few key terms of its own:
  • Issues: An issue is only a discussion, no actual changes to code take place here.
  • Pull requests: A pull request is a package of commits you’re requesting to be merged into the default branch. 

References:



No comments:

Post a Comment