Have you ever been asked what GitHub really is? I’d say it is like Wikipedia and Facebook for programmers. Combined. You can access, view and even edit files. Companies mainly use it to build software and web applications, whereas individuals use it to browse, find and share projects.
Many developers breathe GitHub. And that’s great. It’s the software that helps us (developers) to build great software.
Today I’m presenting you our GitHub tutorial. Here are 10 helpful GitHub hacks you probably don’t know.
Basically, GitHub projects can be made public and every publicly shared code is freely readable. You can have private projects as well, however, they require a paid GitHub plan. Public repositories on GitHub are often used to share open source software.
I’m not digging into the basic of GitHub here. For further basic read, I’d recommend to check out this New Yorker article and these quora threads here.
Clone like hell and learn
As mentioned GitHub offers a never-ending amount of free, open-source projects and code snippets. This basically means that you can use all that code for free.
Through cloning interesting projects, you can freely download the code to your local hard drive. Why? Because you may want to learn about coding styles and practices through looking at other people’s code. Especially when getting started in web development I’d recommend to check out other people’s code.
Who to follow on GitHub?
That brings me to the next tip which probably isn’t really a tip. GitHub is the largest community of developers in the world. This makes it really hard to decide on which one to follow and which one not. Here are a couple of ideas on how to find great/interesting people on GitHub:
Also make sure to check out this quora thread with interesting people to follow on GitHub.
We are using keyboard shortcuts for all different applications and use cases. So why not on GitHub.com as well? Press “?” on any GitHub page and get a list of shortcuts which can be applied to this particular page:
I especially found the following GitHub shortcuts quite useful:
- Press “s” for focusing on the search bar
- Press “gc” for switching to your code
- Press “gd” for switching to your dashboard
- “gi” for going to your issues
Commit early and often
Ever heard of the release early, release often paradigm of software engineering? Commits are updates to a project which refers to changes in one or more files. Every completed task should therefore result in a commit on GitHub (even before testing which is an own task itself).
Every completed task should therefore result in a commit on GitHub (even before testing which is an own task itself).
Comment your commits
While working on a project with a couple of colleagues or friends you can easily make a mess by not commenting your commits. Make sure to comment every commit in order to keep your version control clean and easy-to-follow.
Especially if you’re working on public projects, which might be cloned by someone else, comments are key to get an overview.
The more people work on a project, the more complex it gets. Make use of the following filters to find certain commits easier:
- Filter commits by certain authors by adding “?author=githubhandle” to the URL in the commit view.
You can also create a compare view for your repository by adding the “compare” to your URL:
You can – for example compare two branches – and also take time into consideration (if you’d like to compare the current state of the branch with the same one 7 days ago.
Trace changes in a file with Git blame
I’m not sure why they named this awesome feature “blame”. But despite it’s name, git blame is pretty cool. It’s an super easy way to display changes of any file. Simply click on the blame button in the code view in order to get an overview on all changes which have been made.
Send line links
Did you know that you share links to a certain code line (or multiple lines)? Simply select the line in the code view and you’ll see how the URL will change. You can even select multiple lines by pressing “SHIFT”.
Use GitHub for more than coding
Version control is great not only for coding, but also for other tasks too. Whether you’re working on some website project or just hosting some documentation. GitHub does a great job and makes life easier – for developers, designers and project managers.
- Keep track of your design process
- Keep track of your content history on any project
We’ve recently launched bugtrackers.io and used GitHub in combination with other great services like Codeship and DIVSHOT. Check out what we’ve learned from that.
GitHub Issues is a great way for managing your tasks, issues and bugs on any project. GitHub Issues is a great bug tracker – especially if you’re already using GitHub for your very own projects. The awesome thing about GitHub Issues is that you can collaborate with colleagues and friends on your reported bugs in order to get them fixed.
A bug report in GitHub Issues basically consists of a title, description, milestone and assignee (who’s responsible for fixing the bug).
Also make sure to check out this guide on how to use GitHub Issues.
Get more out of GitHub Issues with Usersnap
Another great thing about GitHub is it’s integration possibilities with other awesome services. I therefore recommend to take a look at github.com/integrations and check out the available integration possibilities with tools (you might be already using).
By connecting Usersnap with GitHub Issues you can make your bug reporting and testing efforts much more pleasant. Screenshots created by your colleagues, testers, website visitors or clients are automatically (or manually if you want) sent to your GitHub Issues.
GitHub is not only the largest developer community available, but also a super-powerful tool for bringing your programming skills on the next level.
I hope you enjoyed our first GitHub tutorial. What are your favourite GitHub hacks? Any additional tips for being more productive?
PS: We’ve updated and published the presentation with these helpful GitHub tricks on Slideshare. You can view & download the presentation.
If you found this post interesting, follow us on twitter where we tweet about web development, web design and startups.
This article was brought to you by Usersnap – a visual bug tracking and screenshot tool for every web project.
Resolve issues faster with visual bug reporting.
Simplify and reduce issue & bug reporting efforts with screen recordings, screenshots, and annotations.
And if you’re ready to try out a visual bug tracking and feedback solution, Usersnap offers a free trial. Sign up today or book a demo with our feedback specialists.