//This is an archived post!

layout: post current: post cover: assets/images/posts/github-std.png title: Why Git and Github is must for student? date: 2017-05-14 12:00:00 +0545 navigation: True categories: tech tags: tech class: post-template subclass: ‘post’ author: cdrrazan permalink: /blog/why-git-and-github-must-for-students/ summary: — Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows —

This blog is focused for the students about introduction to git and why use github who might want to be developers to the some point either it might be web, or mobile or any other intersection it might get.

Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows.

From: Wikipedia

At this point it is enough for students to know what actually git is. But before actually learning git we should be able to point out what the version control really stands for and this is really a piece of cake.

Version control literally means nothing but on the control of the stuffs of the different version of some thing. In exact terms it can be noted as per git-scm.com

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later.

Git is one of the version control system alongside mercury, subversion. In this blog we will learn about why github for students.

Git is one of a handful of systems that can be used to version software, storing code in a canonical ‘repository’. When used effectively it allows individual features to be ‘branched’ from master, changes can be ‘rolled back’ and code from different developers to be ‘merged’ together.[Source]

1.Whenever “repository” means it can be understood as a directory.

2.”Branching” means the single repository can be divided into branches which can be allocated by number of user who can work and modify the contents on their own workstation and push them on the server. Unless the main contributor uses and add them in root repository they can’t be viewed from main repository because there is 1 root repo and many branches inside it.

3 .”Merging” means the adding two different commits which may be on the different location such as branches.

4.”Rolling back” is one of the exciting features of version control system because if something goes south, then we can revert back changes to that state or version where the code was working fine.

There are different site that offers git service such as Github, Bitbucket and Gitlab. In this blog we are going to discuss about the github and its interactive benefits to the students in particular.

Why Github for student then?

From their own site:

GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside millions of other developers.

What things can you do after you start using sites like Github?

The first thing is after the fantasy of the git as VC and Github being the perfect platform we are going to list why it is perfect for students like us. There is nothing perfect anybody can do, so why not share the code that you just did or about to do so that your colleagues can see, your friends can see what you are into and your team members can visualize the working progress. Secondly you can optimize the codes for your softwares. For example, you just pushed a working software model that is lacking something in terms of performance. Your friend notices your repo and he thinks he can make it better and actually he does and request you to merge the code to the original repo. You can also visualize what lines of code has been omitted, what lines has been changed and added. After then you can merge and resolve any conflicts that arise. Don’t worry you will still be notified about the errors.Third one, you can add collaborators and work on the same project. This means all of you who are same board don’t need to be at one place.

This above lines are the list of services that are even provided by other code hosting platform like bitbucket and gitlab but the main reason i am suggesting is Github provides student packages for students so that student can utilize the maximum productivity out of them.

Github started to provide the student packages back in 2013. For this all you need to do is verify that you are student.

1.Sign Up/Login for the Github.

2.Goto https://education.github.com/pack..

3.Click on “Get your pack”. You will be redirected to verify as the student.

There are different ways to do this , you can either use student email or you can use official documents such as ID cards or other documents that clearly tells you are a student.

4.Once they verify your status, you can claim those packages. By default, Github does not provide private repositories for free. You have to upgrade but after claiming education pack you can have unlimited repositories.

Additional Information on what you can do with this!

Claim your .me domain name from namecheap and set it up for your strong online presence. You can do additional things such as claiming offers in AWS and digitalocean. I am not sure what they offer in case of Microsoft. For full list of service providers go to Github education. Github is constantly offering new products as makers collaborate with github to provide free offers. Stay updated.

For beginners who are using windows, i have made a blog post earlier on how to use Github in windows. Click here to go and read.

Of course, there is wonderful thread in Stackexchange about Understanding the basics of Git and GitHub. Make sure to check it.