Andrew Mercer
on this page

10 · Resources

← Overview · Prev: Internals

Books and references

  • Pro Git (free): https://git-scm.com/book
  • Command reference: https://git-scm.com/docs · https://gitref.org
  • Git from the bottom up: https://jwiegley.github.io/git-from-the-bottom-up
  • Curious Git (internals, step by step): https://matthew-brett.github.io/curious-git/index.html
  • Flight rules — what to do when things go wrong: https://github.com/k88hudson/git-flight-rules
  • Recovering from disasters: https://www.atlassian.com/git/articles/titanium-armor-recovering-from-various-disasters

Interactive practice

  • Learn Git Branching: https://learngitbranching.js.org
  • Git Immersion: https://gitimmersion.com
  • Git katas: https://github.com/eficode-academy/git-katas
  • First contributions (practice a PR): https://github.com/firstcontributions/first-contributions
  • Git guide (short): https://rogerdudler.github.io/git-guide
  • Workshop bootcamp: https://github.com/AICoE/workshop-intern-bootcamp-git

Videos (YouTube ids)

  • "Learn Git Rebase in 6 minutes" — f1wnYdLEpgI
  • "Advanced git for developers" — duqBHik7nRo
  • "git for ages 4 and up" — 1ffBJ4sVUb4

Host documentation

  • Incorporating PR changes (merge / squash / rebase): https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges
  • Resolving a merge conflict on GitHub: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-on-github

Topic pages elsewhere in these notes

  • Rebase reading → 04
  • Branching models → 03
  • Hooks reading → 08

Self-hosted / alternative forges

Gitea, GitLab, GitBucket (https://github.com/gitbucket/gitbucket), Gogs (https://gogs.io), Kallithea (https://kallithea-scm.org), Tuleap (https://www.tuleap.org), Phacility (formerly Phabricator, https://www.phacility.com), GNU Savannah (https://savannah.nongnu.org). Comparison: https://www.cyberciti.biz/open-source/github-alternatives-open-source-seflt-hosted