Our team treasures productivity power tools and applications. Of all the tools that we’ve adopted, the one that has consistently proven critical to our workflow is GitHub. In this post, I'll share a few use cases related to why we luv Github and highlight an upcoming level-up opportunity.
GitHub say what?
GitHub is a version control code sharing and publishing service that allows its users to manage and store versions of projects. While our team (and other teams) mostly uses GitHub for code, it can be used to manage other file types such as Word documents.
But why’s it so cool?
GitHub is bathed in some serious awesomesauce. While there is a command line tool (Git) for those who wish to work in Terminal or Command Prompt, GitHub also provides a Web-based graphical interface where you can create a series of chunks (commits) of code, can publish repositories, and collaborate with others.
Much of GitHub’s power lies in three of its features: fork, pull, and merge. Here are some classic use cases that outline how these three features work:
Problem: a member of your team or someone from the community wants to contribute to a project, but doesn't know the state of the project or where to go for updates on the latest work being done.
Github solution: the team or community member can view the latest updates and changes to the project repository, as well as make a copy of the project repository and save it to their account (fork).
Problem: the team or community member has ideas for making the project better and would like to collaborate, but would like others to review and approve his work beforehand, in a timely matter.
Github solution: after making a few changes to the project, the team or community member can send a direct notification (pull request) to the owner of a given repository (a person or a entire team can be the owner) with details about the updates and changes made.
Problem: the project owner wants to inspire more collaboration and could use the help of others, but rolling updates and changes into the project often isn't very harmonious.
Github solution: the owner of the repostory can easily copy any updates or changes from the team or community member's copied repository to their original repository (merge).
The seamlessness of the process encourages the sharing of more granular changes, which helps lead to better projects, products, and innovations.
This is just an example of how Github can enable teams, departments, and people to work together and collaborate. Want to learn more? Check out the following learning opportunity:
GitHub level-up opportunity
Want to get your hands dirty in Git and GitHub?
Tech Training is offering an interactive workshop, Git and GitHub Workshop: Becoming a Contributor, on Wednesday, June 3rd from 1:00 – 4:00 PM.