Last updated: February 16, 2020
Some resources for learning Git:
- Git in 600 words: a reasonable starting point.
- Getting Started with Git: this article is from 2010 but is still worth reading.
- Pro Git book: this is the canonical book for learning git. It’s free/open source.
- How to teach Git: this is a good, short explanation of the different places files live in git (working directory, staging area, local repository, remote repository).
- GitHub’s resources for learning git
- Writing good commit messages
- Git Magic: book that walks through git starting from the simplest operations and getting increasingly complex
Git GUI clients
Sometimes it’s helpful to have a graphical interface for Git. Here are a few clients that you might want to consider:
- GitHub Desktop: the official client for GitHub, but works with any Git repository. Simple, straight-forward interface. Free.
- GitUp: open source Git GUI that has a nice way of visualizing branches. Free.
- Sublime Merge: full-featured, high-performance Git GUI. The free trial is unlimited with a periodic reminder to buy; cost is $100 to remove the nag message.
- Fork: free, cross-platform client. I haven’t used it, but the screenshots show a pretty intuitive UI.
Git hosting services
- GitHub is the de facto standard for shared access to Git repositories. It has arguably the best web interface of all the Git hosting services, with attention to detail like gracefully handling loading large diffs in commits.
- Bitbucket is the longest-operating alternative to GitHub. Unless you have a specific, compelling reason to use Bitbucket, GitHub is probably a better bet.
- GitLab is a newer, open-source alternative to GitHub that is being rapidly developed. It may be less expensive than GitHub in some circumstances.
- sourcehut is another new, open-source alternative to GitHub.
- You’ll need to set up SSH keys to connect to your git hosting service.