What is GitHub?
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