GitHub is an American multinational corporation that provides hosting for software development and version control using Git. GitHub is an effective and easiest tool for software development. Using this tool, team members can work with other people and makes it easy to collaborate with the master branch of projects. [1]

Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows.[2]

This amazing session was represented by the Robotics and Automation club on August 23 at 11 AM – 12 PM. The session was commenced with a welcome speech by Miss. JINI FATHIMA  S (18BEE058).

Then the session with Mr.Yeswanth Rajakumar [(17BIT025) software development engineer, innovation engineer trainee in Forge accelerator] rested on the concepts of the Version  Control System of GIT. Here are the major takeaways from the session summarized to the GIT enthusiasts.

Version History:

Version history gives you access to old copies of your files and shows you the number of each version, the size of each version, as well as who created each version and when they created. [3] This feature enables one to travel in time throughout the history of the specified project and retrieve or make changes in any version of that project. He exemplified this concept with,

Fig.1. Version History Illustration

Collaboration:

The most powerful aspect of Git is the collaborative workflow it enables. In order to really learn Git workflow, you need to work through conflict and add-ons, which means you need to work with a team.[4] The modifications made by one team member on another one’s work affects it by notifying with the exact person with his/her account name and the time of changes again deriving the version history’s feature.

Fig.2. Collaboration Illustration

Feature Branching:

Master is the original source file. The development branch is the exact copy of master where the modifications and workings will take place without affecting the original service unless we merge it to the master – Master Merge after integrating all the other feature branches to the development branch, it facilitates working independency and reduces the integration issues.

Fig.3. Feature Branching diagram

Later, he went on to differentiate between Centralized Version Control System and Distributed Version Control System.

He noted the tools that are used to perform version control,

  1. GitHub
  2. Gitlab
  3. Bitbucket

He then demonstrated the benefits of learning GIT and power of options such as commits, pull requests in GitHub.

Then the session stepped up with question-answering session. Participants clarified their doubts with Mr Yeswanth. As well as he explored the Github in a practical way where the participants felt comfortable on it. Around 65 members gained knowledge about Github. The session was ended up with the vote of thanks by Miss. Swetha S V (19BEC052) by her thankful words.

RESOURCES:

[1]GitHub – Wikipedia

[2] Git – Wikipedia

[3] The absolute basics of version history

[4] Learn Git Workflow Centralized Collaboration

The entire tech Talk has been recorded for the convenience of the people couldn’t attend. Kindly use this link and check it out.

Check out our previous Tech Talks… You may find them interesting.