It's been an eventful year for GitHub. In November, they created their one-hundred-millionth repository. In October, they announced GitHub Actions. And of course, there was that thing with Microsoft. GitHub has been an essential member of the software community for many years, and joining Microsoft has been a positive development so far. So, what does 2019 have in store for us? How can you take advantage of GitHub? Let's take a look at a few of the best integrations the version control system offers.
GitHub's web interface is excellent, and of course, Git started as a command line tool. But sometimes it's nice to work inside your code editor or get a more visual view of what's happening inside your project. So, here's a few handy tools for using GitHub from a desktop GUI.
First, we have Atom. The Atom editor isn't new, but it's still a popular option for many developers. Atom is a lightweight cross-platform text editor that you can customize to do almost anything. It also comes with a powerful GitHub package already bundled in.
Atom's GitHub package adds Git and GitHub integration to the editor. With it, you can switch branches and create new ones. You can stage, commit, pull, and push changes. Atom's GitHub integration also has an excellent interface for resolving merge conflicts. And you can view and check out pull requests from inside the editor. You can find more information about Atom's GitHub package here
Secondly, we have GitKraken. GitKraken launched a major new version in the second half of 2018. It's a cross-platform Git client with a very colorful and unique interface. GitKraken offers a free and a paid version.
Axosoft has packed the free edition with powerful features. It presents branch, version, and merge histories in a visual format. You can perform merges, rebases, pushes, and resets using intuitive drag-and-drop gestures. It has tools for staging changes and pushing them in batches, and it has a powerful interface for cherry-picking changes for commits and rollbacks. This year, version 4.0 introduced a new code editor with syntax highlighting. In addition, it boasts a revised side-by-side diff interface and the ability to create new files from within the application. GitKraken also integrates with Glo Boards, which I cover below.
Thirdly, we have Slack. Slack's GitHub integration takes your repository updates out of email and into a stream of updates. So, you and the rest of your team can discuss the updates in a Slack channel instead of forwarding and reforwarding emails. Slack channels are easier to read than an email chain made up of a steady string of comments, as can be seen here.
The GitHub app will publish any activity you wish to a channel. You can enable (and disable) GitHub events such as
pull requests and pulls
reviews and comments
Slack maintains the GitHub integration. You can install it from their website here.
Project Management Tools
In some organizations, GitHub's role has expanded from version control system to an issue tracker and the linchpin for all development activity. So there's a wide variety of project management integrations available for it. Here's a couple of new ones.
4. Glo Boards
Glo Boards is a kanban-style system for tracking issues. It syncs with GitHub issues. You can access the boards from the web, a mobile application, or inside GitKraken and Atom.
The boards sync in real-time with GitHub issues. They support markdown, file attachments, and mentions. You can add checklists and dates to cards, too. Like GitKraken, Glo Boards supports themes and defaults to an attractive dark one. And you can view your projects as a kanban board or a calendar that displays your issue's due dates. Glo Boards is free for non-commercial use. You can find the details here.
5. Azure Boards
It was inevitable that GitHub's sale to Microsoft would result in integration with the new parent company's products. GitHub announced one very recently: now, you can link your repo to Azure Boards. The connection between Azure Boards and GitHub repositories gives you the ability to link commits and pull requests to work items. This link places your code changes right next to you bugs, stories, and tasks. Each work item has a development section that lists the latest changes. And you can click through to see details on GitHub. When you want to relate an action on GitHub to its task, mention the ID of the Azure Boards work item in the commit message, PR title, or PR description. Azure Boards scans comment for references to work items and automatically links them. If you want more details or you're interested in the initial announcement of this new integration, see this article.
Codetree synchronizes with GitHub and adds functionality to issues and pull requests. You can manage your project with kanban boards that you configure with customized stages. Also, Codetree is a full-featured project management tool, with the ability to group items into epics, track priorities, and track dependencies. You can even work with issues in multiple repos in one view.
Find out more about Codetree on their site
GitHub is the linchpin for many organizations' continuous integration efforts. It's a robust service that takes the headaches of maintaining an active source repository out of your hands. But that doesn't mean you don't need to make an effort to monitor your code. Fortunately, there are a few integrations that will scan your code for problems for you.
7. WhiteSource Bolt
WhiteSource Bolt is a free integration for GitHub. It scans your repositories for vulnerabilities in open source components. Bolt supports over 200 different programming languages. And it tracks listings from multiple databases, including the CVE/NVD, the GitHub issue tracker, a wide range of security advisories, and popular open-source project issue trackers. WhiteSource scans your repo each time you apply a push. If it finds a vulnerability, it automatically opens a GitHub issue. The issue provides you with reference links, any associated dependency tree, details about the vulnerability, and information about a fix. WhiteSource can follow transitive dependencies and will open issues for them, too. You can find details about WhiteSource Bolt here.
8. Sonatype DepShield
Sonatype's DepShield is another free tool for scanning your repos for open-source vulnerabilities. It searches your repo against the Sonataype OSS Index and opens GitHub issues with details about any problems it finds. Like WhiteSource, DepShield is capable of identifying problems caused by transitive dependencies and will create tickets for them, too. DepShield scans the repo in place, not during pushes. You can install DepShield from here.
Step Up Your GitHub Game
Github's State of the Octoverse report demonstrates how 2018 has been a big year for the development community. More than two million organizations and 31 million developers are using 96 million repositories. And GitHub's extensibility is one of the platform's most powerful draws. This short list contains a handful of exciting integrations. You can use them to increase your productivity, simplify your project management, and patch vulnerabilities in your applications before they're a problem. What are your favorite GitHub integrations? Let us know in the comments below!