-
Understanding Git
http://www.queness.com/post/16139/understanding-git
A collection of links to articles, tutorials, cheat sheets, and clients -
7 Useful Git Tips for Beginners
http://sixrevisions.com/web-development/git-tips/
High-level directions for learning Git, including links to many tutorials
-
Atlassian Git Tutorials
https://www.atlassian.com/git/tutorials
An excellent collection of tutorials, from basics to advanced topics. Very well written and easy to read. -
Git Concepts Simplified
http://gitolite.com/gcs.html
An HTML slideshow that walks through Git's core concepts, with diagrams. -
Learn Version Control with Git
https://www.git-tower.com/learn/git/ebook/command-line/introduction
A complete introduction to using Git that assumes no prior knowledge -
Git from the Bottom Up
https://jwiegley.github.io/git-from-the-bottom-up/
Explains Git by describing the internal data structures and how they work. More technical than other tutorials, but understanding the way Git handles data can really make understanding the commands easier. -
Conversational Git
http://blog.anvard.org/conversational-git/
An easy-to-read, informal approach to learning Git -
Think like a Git
http://think-like-a-git.net/
A tutorial for "advanced beginners" who know the basic commands, but want to better understand Git's concepts -
Git from the Inside Out
https://codewords.recurse.com/issues/two/git-from-the-inside-out
An explanation of how Git works, by describing the internal data structures and the graph that they form. -
Git for Humans
https://speakerdeck.com/alicebartlett/git-for-humans
A slideshow introducing Git concepts without complex terminology -
Getting Git
https://gettinggit.com/
A paid video tutorial series that covers Git commands in detail, as well as everyday scenarios you might encounter while using Git -
Learn Enough Git to Be Dangerous
https://www.learnenough.com/git-tutorial
A tutorial that teaches practical use of Git basics, Github, and Git workflows. -
Git Magic
https://crypto.stanford.edu/~blynn/gitmagic/
An extensive Git tutorial that teaches usage instructions first, and works its way up to advanced Git techniques and concepts. -
Git Beyond the Basics
http://blog.bloomca.me/2017/11/17/git-beyond-the-basics.html
A good tutorial that explains intermediate concepts like merging, rebasing, cherry-picking, and cleaning pull requests
-
How to Write a Git Commit Message
http://chris.beams.io/posts/git-commit/
Great advice for how to write a succinct, informative, and useful commit message. -
Advance Git
https://medium.com/@jstats/advance-git-dfe557bdbe59
Gives advice for good commit messages, and describes the options and usage for several advanced Git commands (add --patch
,rebase
,reflog
, and more). -
19 Tips for Everyday Git Use
http://www.alexkras.com/19-git-tips-for-everyday-use
A variety of practical commands for different scenarios. -
Git Tips
https://github.com/git-tips/tips
A large collection of Git tips and tricks. -
Digit
https://github.com/optionfactory/digit
A tool to visualize the contents of a Git repo as an aid to learning -
Advanced Git Advice
https://medium.com/@zlobin/advanced-git-advice-27087a7fbb29
A variety of useful tips and commands. -
A Note about Git Commit Messages
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
Some quick explanations of how to format Git commit messages, and commands where message formatting matters -
Git Commit Good Practices
https://wiki.openstack.org/wiki/GitCommitMessages
A number of good practices to follow when making commits and writing commit messages -
Life-Saving Git Tips
https://www.cuttlesoft.com/life-saving-git-tips/
A variety of useful tips, including use of cherry-picking, local pulling and testing, and use of aliases to simplify tasks -
Git Flight Rules
https://github.com/k88hudson/git-flight-rules
A guide for Git users about what to do when things go wrong. Covers topics like editing commits, staging and unstaging files, fixing branches, rebasing/merging, and much more. -
Advanced Git Commands You Will Actually Use
https://stosb.com/blog/advanced-git-commands-you-will-actually-use/
Describes a wide variety of useful commands, such as ways to refer to commits, searching commit logs, manipulating history, and much more.
-
Git's Patch Mode All the Way
https://blog.petrzemek.net/2016/07/10/git-patch-mode-all-the-way/
Shows how to use Git's ability to selectively pick and choose chunks of code as part of various actions -
Git: Undoing changes and rewriting history
http://slides.com/lilianakastilio/github-4#/
A slideshow discussing various ways to change commit history -
Beginner's guide to git rebasing and squashing
https://shinglyu.github.io/web/2016/11/08/servo-rebase-and-squash-guide.html
A tutorial on rebasing and squashing commits to change past history. -
Git Rebasing and Clean Pull Requests
https://www.jungledisk.com/blog/2016/11/21/git-rebasing-and-clean-prs/
Some best practices for cleaning up branches and producing readable commits. -
A closer look at git rebase
https://dev.to/gonedark/a-closer-look-at-git-rebase
An explanation of what "rebasing" is, with some helpful graphics -
Visualize Merge History with git log --graph, --first-parent, and --no-merges
https://redfin.engineering/visualize-merge-history-with-git-log-graph-first-parent-and-no-merges-c6a9b5ff109c
Describes issues with usinggit log
to visualize history, and some arguments that can be used to give a potentially better picture of what's actually happened. -
How to undo (almost) anything with Git
https://github.com/blog/2019-how-to-undo-almost-anything-with-git
Instructions for undoing and redoing changes in various scenarios. -
Undoing in Git
https://blog.tratif.com/2018/01/04/undoing-in-git/
A summary of the most common ways for undoing things in Git, including bringing back removed commits. -
Beginner's Guide to Interactive Rebasing
https://hackernoon.com/beginners-guide-to-interactive-rebasing-346a3f9c3a6d
An excellent walkthrough of how to use interactive rebasing for rewriting commit history by editing, deleting, and combining commits
-
Pro Git
https://git-scm.com/book/en/v2
An in-depth online reference to all aspects of Git -
Git Internals
https://github.com/pluralsight/git-internals-pdf
A free PDF that digs deep into Git's data structures and behavior
-
Git Workflows
http://documentup.com/skwp/git-workflows-book
Covers ways to increase productivity, create cleaner commit history, and improve code reviews -
Understanding the Git Workflow
https://sandofsky.com/blog/git-workflow.html
Looks at how to properly handle branches and local history vs public history -
A Successful Git Branching Model
http://nvie.com/posts/a-successful-git-branching-model/
Describes a widely used multi-branch approach to managing development and release processes
-
A Visual Git Reference
http://marklodato.github.io/visual-git-guide/index-en.html
Describes several common Git commands, with diagrams to explain what each one does -
Tower - Git Cheat Sheet
https://www.git-tower.com/blog/git-cheat-sheet/
A quick reference PDF listing some common commands -
Interactive Git Cheat Sheet
http://ndpsoftware.com/git-cheatsheet.html
A clickable page that shows how various commands move data between different parts of Git's storage (working copy, index, local repo, remote repo) -
giteveryday
https://www.kernel.org/pub/software/scm/git/docs/giteveryday.html
A useful minimum set of commands for Everyday Git. Commands grouped by usefulness to different categories of users. -
Git Getting Started Cheat Sheet
https://gist.github.com/akras14/3d242d80af8388ebca60
Another useful list of commands with explanations
-
SourceTree (Win, Mac; free)
https://www.sourcetreeapp.com/
A solid Git client, with a good variety of features. Includes UI for interactive rebase, which makes that task much easier to do. Note that a recent release (1.8 for Windows, 2.2 for Mac) drastically changed the UI appearance, added required accounts, has had a number of performance issues, and is generally seen as a step backwards. You may want to download the earlier versions instead (1.6.25 for Windows, 2.1 for Mac ). -
Git Extensions (Win; free)
http://gitextensions.github.io/
A Windows client with Windows Explorer and Visual Studio integration -
Git Tower (Mac, Win; commercial)
https://www.git-tower.com/
A well-designed commercial Git client for Mac and Windows -
SmartGit (Win, Mac, Linux; commercial)
http://www.syntevo.com/smartgit/
A cross-platform Git client aimed at professionals -
GitKraken (Win, Mac, Linux; semi-commercial)
http://www.gitkraken.com/
A cross-platform Git client