# Git — Resources

## Official Docs

- [Git Reference Manual](https://git-scm.com/doc) — Complete command reference and man pages.
- [Pro Git Book (free online)](https://git-scm.com/book/en/v2) — Scott Chacon & Ben Straub. The definitive Git book, covers everything from basics to internals.
- [GitHub Docs — Git Handbook](https://docs.github.com/en/get-started/using-git/about-git) — Beginner-friendly Git overview from GitHub.

## Videos

- [Git Explained in 100 Seconds](https://www.youtube.com/watch?v=hwP7WQkmECE) — Fireship. Fast conceptual overview.
- [Git for Professionals](https://www.youtube.com/watch?v=Uszj_k0DGsg) — Tobias Günther (freeCodeCamp). Deeper workflows, rebase, reflog.
- [Git MERGE vs REBASE](https://www.youtube.com/watch?v=0chZFIZLR_0) — Fireship. Visual comparison of the two strategies.
- [So You Think You Know Git (FOSDEM 2024)](https://www.youtube.com/watch?v=aolI_Rz0ZqY) — Scott Chacon. Tips and lesser-known features.
- [How Git Works Under the Hood](https://www.youtube.com/watch?v=lG90LZotrpo) — Tech With Tim, 20 min. Understanding the object model (blobs, trees, commits).
- [Advanced Git Tutorial](https://www.youtube.com/watch?v=qsTthZi23VE) — Academind. Interactive rebase, cherry-pick, stash.

## Articles and Readings

- [Atlassian Git Tutorials](https://www.atlassian.com/git/tutorials) — Well-illustrated guides covering beginner to advanced topics.
- [Git Flight Rules](https://github.com/k88hudson/git-flight-rules) — GitHub repo. "What to do when things go wrong" — cookbook for common Git problems.
- [Conventional Commits](https://www.conventionalcommits.org/) — Specification for structured commit messages used by many teams.
- [A Visual Git Reference](https://marklodato.github.io/visual-git-guide/index-en.html) — Mark Lodato. Diagrams showing how each command changes the DAG.
- [Oh Shit, Git!?!](https://ohshitgit.com/) — Plain-English solutions for common Git mistakes.

## Books

- **Pro Git** by Scott Chacon & Ben Straub — Free, covers everything. [Read online](https://git-scm.com/book/en/v2).
- **Git Pocket Guide** by Richard E. Silverman — Quick reference for everyday commands.

## Interactive and Visual Tools

- [Learn Git Branching](https://learngitbranching.js.org/) — Interactive browser game that teaches branching, merging, and rebasing visually.
- [Oh My Git!](https://ohmygit.org/) — Open-source game that teaches Git with a visual interface.
- [Visualizing Git](https://git-school.github.io/visualizing-git/) — Type commands and see the commit graph update in real time.
- [GitHub Skills](https://skills.github.com/) — Hands-on courses that run directly in GitHub repos.
- [Git Explorer](https://gitexplorer.com/) — Find the right Git command by describing what you want to do.

## Podcasts

- [Changelog — Git episodes](https://changelog.com/topic/git) — Interviews with Git maintainers and workflow discussions.
- [Software Engineering Daily — Version Control](https://softwareengineeringdaily.com/?s=git) — Episodes covering Git internals and large-scale workflows.

## Tools

- [lazygit](https://github.com/jesseduffield/lazygit) — Terminal UI for Git that makes complex operations visual.
- [GitLens (VS Code)](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) — In-editor blame, history, and comparison.
- [Meld](https://meldmerge.org/) — Visual diff and merge tool, useful for conflict resolution.
- [git-delta](https://github.com/dandavison/delta) — Syntax-highlighting pager for `git diff` output.
