GitHub is the go-to tool for crafting blogs and other websites, but not everyone gets on board with it automatically. It pays to know why GitHub has high utility value before actually using it, as well as the small drawbacks that prospective users need to be aware of. Read about the pros and cons of GitHub below.
Web-savvy folks have probably heard all about (and most likely use) GitHub, a repository hosting service for Git that also has a web-based graphical interface. The service includes access controls as well as a number of collaboration features like tools for basic task management and wikis for all projects you handle. It’s definitely something worth looking into, and the best way to see if it’s the service for you is by understanding its advantages and disadvantages.
Basically, Markdown allows you to use a simple text editor to write formatted documents. GitHub, like many online repo services, supports Markdown for issue tracking, user comments, wikis – everything. With so many other programming languages to learn for setting up projects, it’s really a big benefit to have your content input in a format without having to learn yet another system. In addition, there is also what is known as the GitHub flavored markdown – a feature that adds changes to the usual markdown in order to make it more useful for documentation.
Benefit: GitHub Has Some of The Best Documentation Around
You won’t run out of content when you use GitHub, thanks to a well-padded guide and help section for articles that you can pull up for practically any topic on earth, for as long as it is related to a Git. It’s got content for helping you learn about generating SSH keys. A guide for the best Git workflow is available. Samples on gitignore (and more) abound for your next planned project, among other things. You won’t need to look elsewhere for all the information you need.
Benefit: GitHub has Gists and GitHub Pages, too
A while back, GitHub rolled out a feature called Gists, which lets you convert one or several files into a working Git repository. This feature converted sharing and tracking changes made to configuration files and even simple scripts into a whole new level of ease. While they aren’t as rich in features as a full-blown GitHub repository, they really work well even if you don’t have a paid account.
GitHub pages, on the other hand, lets you host static websites by simply assigning HTML pages onto another, separate repository – the way you would any other type of Git repository. With this, blogging can be done off the bat as well as updating with additional documentation or bumping up its web presence.
GitHub is the ultimate tool for collaborative coding. Firstly, GitHub contains powerful versioning software so that it can handle branching and merging easily. This means multiple people can work on the same piece of code, online or offline, which will be saved in the same Git.
Secondly, GitHub is great for remote collaboration. For those who are not in the same physical location (e.g. remote workers or people working from home), an online Git is an easy solution requiring no setup for new users. With no need to connect to the company’s VPN, it may be easier to dump everything on a private repository on GitHub.
This benefit is much greater to those working collaboratively on a project which is not part of a professional environment – particularly open-source projects. Most programmers already know how to use GitHub, and it’s easy to point people to a GitHub page if they want to make contributions. Online repositories are essential for open-source projects (though some will avoid GitHub because of its acquisition by Microsoft).
Using an online repository should never be considered infallible, but it provides a nice and simple way to have code and version history available online, regardless of what happens to your local machine. For some people, this is enough, but we stress that a multi-solution backup plan is always the best.
Potential Drawback: Difficult To Use For Beginners
GitHub is a very powerful tool and so it is hard to get the hang of as a beginner. New users can find the many different options and ways of doing things in GitHub confusing and overwhelming. In particular, many people struggle with GitHub’s many unintuitive commands and the inconsistency between commands and arguments in the software.
Potential Drawback: Security
GitHub does offer private repositories on both free and paid tiers, but even private repositories have their issues. For high-value intellectual property, you’re putting all of this in the hands of GitHub as well as anyone who has a login, which, like many sites, has had security breaches before and is targeted constantly.
GitHub has taken steps to make things more secure (such as the Dependabot addition to GitHub Enterprise), and there are steps you can take as well, but there is still an element of risk that comes with GitHub being cloud-based. This is why some clients and employers will only allow code on their own secure internal Git as a matter of policy.
Potential Drawback: Pricing
Some of GitHub’s features, as well as features on other online repositories, are locked behind a SaaS paywall. If you have a large team, this can add up fast. Those who already have a dedicated IT team and their own internal servers are often better off using their own internal Git for cost reasons, but for most the cost isn’t outrageous and GitHub’s pricing has improved (e.g. free private repositories for unlimited users).