GitHub 101-Basic Workflow

As you develop your skills in coding, a very common topic that you’ll encounter is “workflow.” Particularly when it comes to Git and managing versions of your code. If you’ve recently learned about Git and its basics then this article will be helpful since I’ll be discussing ways to increase your productivity when making commits to GitHub. If you’re still new to Git and aren’t quite comfortable with it yet, you can always do Codecademy’s course on Git or checkout this resource from Atlassian

Some quick disclaimers about using these tools. All of them require having Git installed on your machine. If you haven’t had the chance yet to install Git, Atlassian also offers a variety of guides to help you do that, but nothing is as good as having someone there to help you, right? Well, as of the week this article is published, the Detroit Codecademy Chapter is hosting a live GitHub 101 event to help our chapter members learn more about GitHub! So let’s Git up and get to it! 

When it comes to optimizing your workflow there are three tools that are very popular in reducing the amount of repetitive work you do. GitHub’s VS Code extension, GitLens, and GitHub’s desktop software.  After a while it can be annoying to type “git add *” into the terminal, especially when it’s generally recommended to commit as often as possible when working on a project. At the same time, managing versions of your code can get hectic and in some cases the terminal is still needed. I have found that these three tools make version control much easier.

“GitHub Pull Requests and Issues” is a saving grace when it comes to managing Pull Requests (PRs), Commits as well as merging branches. This extension is made and managed by GitHub and is readily available through VS Code’s extension tab. You can always google the extension with “VS Code” and you can download it from your browser. When downloading this extension, it offers two main features: “Source Control” and the ability to manage PRs and Issues. This itself is a game changer when it comes to your workflow. Through Source Control, you can stage and commit any changes that are made to your source code. In addition, you can change your working branch from within the extension as well. This makes life much easier when it comes to managing Pull Requests, Commits, and Issues. Personally, I was using GitHub's website, as well as my terminal to manage these aspects of my workflow before discovering the extension. Now, all my work is in one place and I don’t have to interrupt my workflow as a result! 

GitLens is another VS Code extension which makes life much easier when reviewing commits. Although not created or managed by GitHub, it works seamlessly with GitHub’s VS Code extension. What’s impressive about this extension is that it can show you what changes are being made in a commit, compared to the latest commit on your working branch. I find this useful when I'm reviewing my code and trying to see what changes I'm about to commit, or what changes someone else’s code will make to the main branch. 

Finally there’s GitHub’s desktop software. This little nugget of gold is great when you're managing your entire collection of repos from your desktop. Recently I had to migrate from my dying tablet to my new CPU, and thanks to this tool it was incredibly easy to clone my repos from the cloud.  

In conclusion, your journey to optimizing your workflow most likely will not end here, but nonetheless I hope you picked up some tricks of the trade that will help. These tools are great at putting every aspect of version control in one place, your desktop. As a result I rarely find myself navigating to GitHub’s website to manage my repos. Although in the short term this might not seem like a big deal, in the long run these tools will increase your productivity when it comes to version control.  

Come join us this upcoming Thursday (Sept, 9th) at 7:30 pm EST for our GitHub 101 info session!