Git
Git is a free and open source distributed version control system. Basically, it allows more people to work together on the same code, saving a version history, merge different versions of the same file and much, much more.
In the spirit of the rough guide I’ll point you in the right directions since so many others before me explain and understand Git on a level I’ll probably never reach.
Git conventions
As with everything else, it’s important to keep conventions when working with Git. One helpful idea is to prefix commit messages with common verbs like “add”, “remove”, “update”, “refactor”, “fix” for example.
See more on https://medium.com/code-adventures/a940ee20862d
GUI for Git
While you can accomplish everything using git through the command line a visual interface is helpful. Especially for visualizing complex branches and your history. To accompany the web interfaces of Github, GitLab and BitBucket I can recommend the following apps:
- http://www.sourcetreeapp.com/ (osx, win)
- http://gitup.co/ (osx)
- https://www.gitkraken.com/ (osx, win, linux)
- https://git-fork.com/ (osx)
- https://desktop.github.com/ (osx, win)
- http://www.git-tower.com/ (osx)
- https://git-fork.com/ (osx)
Resources
- http://www.git-tower.com/learn/
- http://git-scm.com/book
- https://help.github.com/
- http://think-like-a-git.net/ - Git really isn’t made for human beings. Think Like (a) Git is a guide for the perplexed that should help smoothen things out.
- https://pinboard.in/u:rough/t:git/
- http://www.integralist.co.uk/posts/git-tips/
- A visual Git reference http://marklodato.github.io/visual-git-guide/index-en.html
- http://bradfrostweb.com/blog/post/gitgithub-resources/
- http://try.github.io/
- http://24ways.org/2013/git-for-grownups/
- http://firstaidgit.io/
- https://gumroad.com/l/goal-oriented-git/
- http://ohshitgit.com/
- https://github.com/tldr-pages/tldr/blob/master/pages/common/git-branch.md