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.
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.
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:
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).
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:
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.
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.
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”.
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.
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.
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.
What’s the point of launching a great feature if no one notices? The real magic…
Ever wonder how some companies make product updates feel like the highlight of your day? …
Picture this: You’re in the middle of a hectic workday, balancing strategic decisions with daily…
Ever wish customer feedback came with subtitles? With the right feedback analytics tools, you can…
Survey design is the backbone of effective data collection, enabling businesses, product managers and researchers…
Wondering how to master Jira’s vast capabilities for strategic project/product success? Epics are the key…