What is Github? - Techmidroid

Wednesday, 19 September 2018

What is Github?

What is GitHub? 
Well, GitHub is a platform that helps people solve problems by building software together. 

So, how does it work? 

This is Sam. Sam works on tractors all day, but not in the way you might be thinking. She builds the software that helps make tractors more efficient. And she does this on GitHub, with the help of her team: Vijay, Melinda, and Mike. Now, even though they all work on the same project, Sam and her team don't all work in the same part of the world.
This is Eddie. Eddie also works on tractors all day. Except, he actually works on the tractors, all day. And this, is the Harvester L700. It's the latest flagship in the company's fleet of tractors. It's full of sensors and processors that produce a ton of diagnostic data. Eddie has a great idea for how farmers might share their data and improve their harvests. So Eddie opens an issue on GitHub. Issues are discussion threads where people can report bugs, request features, or even just ask questions.
Sam is the first one on her team to see Eddie's issue, and she thinks that Vijay would be the best person to start the job. And here's where we get into the nuts and bolts. Eddie isn't the only person using the Harvester L700. All over the world, other tractors are collecting moisture data. And they need to keep running smoothly, even while Vijay is working  on the new features. He needs a dedicated place to experiment, so none of his changes end up on the farm before they are ready. So he creates a branch of the code, an alternate timeline where he can safely make changes to the software. Now he's ready to start writing the new feature. GitHub tracks Vijay's changes and saves snapshots of his progress. When he's ready to collaborate on the changes with his team, he opens a pull request on GitHub. Pull requests let you show others the changes you're proposing so they can review and discuss them. This means Vijay's teammates can help with roadblocks, and even make improvements. On GitHub, everyone has a copy of the project. So if Melinda has an idea for something that will help make Vijay's work even better, she can add it to the branch herself. GitHub keeps a record  of everyone's contributions and feedback in the pull request, alongside relevant messages  from the team's other systems. Once the team has signed off on the changes, Vijay can incorporate the new code into the project. The new feature will be available to everyone, as soon as he merges it in. Now farmers everywhere can all benefit from Eddie's great idea.
But this is really only the beginning of the story. Because GitHub is the largest community of developers in the world, with millions of people sharing their projects, Eddie's idea could end up helping people in unimaginable ways. 

What kinds of problems are you trying to solve? 

Whether you're an engineer, a code enthusiast, or even a farmer trying to harvest grain, software touches every corner of our lives. GitHub, is where people build that software. It's how they build software, together.

No comments:

Post a Comment