If the word GitHub causes your eyes to glaze over slightly, you’re not alone. There’s widespread confusion about this development platform, despite the fact that millions of programmers and developers around the world use it on a daily basis. Yet at its simplest, GitHub is just an easy-to-use platform designed to help people collaborate on tasks.
So, what does deploying GitHub involve?
GitHub is an open source software system, reminiscent of social networks and project management tools like Slack or Trello. It allows users with a saved profile and appropriate login credentials to collaborate on a project without overwriting everyone else’s changes. This avoids any conflict if two people try to edit the same document simultaneously. It can also be used to publish or duplicate existing content, discussing improvements on a line-by-line basis. Subscription packages start at $7 a month.
So how does it work?
Deploying GitHub provides users with a more sophisticated version of the Track Changes functionality familiar from Microsoft Office and Google Docs. GitHub’s Version Control monitors every change made to the contents of a particular folder, saving them for future reference. Any changes deemed to be inadvisable can be rolled back quickly and easily. Also, colleague A will know colleague B made changes to colleague C’s work at 3pm yesterday, for example
How does it monitor everything?
If component elements of a project were scattered across the internet or individual hard drives, it would be impossible to track changes properly. GitHub therefore stores project components in dedicated repositories (or repos), like Dropbox folders. Each repository houses every file and folder relating to a project, alongside documentation and a full revision history. Within the repository for a particular project, it’s possible to set tasks, make notes beside troublesome elements and measure milestones. The most recent modification made to each line of program code is logged with an exact time and specified author, and this is known as the blame feature. That’s presumably in case there’s a problem further down the line, and someone needs to be blamed…
What benefits does this platform offer?
There are several advantages to deploying GitHub. First, it encourages collaboration between colleagues and contractors, allowing people to view everything relating to a particular project in one place. However, access to certain parts of a repository can be restricted, to prevent a junior colleague wreaking havoc, for instance. Discussions are pinned to specific attributes or lines of code, and requests for assistance or advice are easily dispatched. GitHub also identifies conflicts that need to be resolved (such as two versions of the same file fragment), alongside automated code reviews. Crucially, it enables projects to stay on schedule by presenting a single-view summary of completed and outstanding tasks.
What does all the jargon surrounding GitHub mean?
GitHub users often confuse newcomers with their unique lexicon of terms. The act of saving changes is known as a ‘commit’, while viewing these changes is referred to as a ‘fetch’. There are also specialist terms for making copies of GitHub files: copying them onto your own computer for offline tinkering is known as ‘cloning’, whereas a ‘fork’ represents a personal copy of another repository stored in your own GitHub account. A ‘branch’ is a parallel document within a temporary sub-folder, capable of being merged into the master branch if its changes are deemed successful.
Is it possible to expand on GitHub’s functionality?
Like most open source software, deploying GitHub can be done in tandem with additional tools and programs. For instance, Waffle’s automated project management provides updates through Slack. The GitHub website includes links to approved or recommended tools, though the basic platform ought to be comprehensive enough for most people.