|
1 | | -# Git Tutorial — Code with Branko |
| 1 | +# Let's Learn Git! |
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | | -## Table of contents |
6 | | - |
7 | | -### Introduction |
8 | | -- [Overview](01-Introduction/01-git-features.md) |
9 | | -- [Installation on Windows](01-Introduction/02-windows-installation.md) |
10 | | -- [Installation on Linux](01-Introduction/03-linux-installation.md) |
11 | | -- [Hosting Services](01-Introduction/04-hosting-services.md) |
12 | | -- [Dataflow Diagram](01-Introduction/05-dataflow-overview.md) |
13 | | -- [Operations Overview](01-Introduction/06-operations-overview.md) |
14 | | - |
15 | | -### Concepts |
16 | | -- [Repository](02-Concepts/01-repository.md) |
17 | | -- [Configuration](02-Concepts/02-configuration.md) |
18 | | -- [Objects](02-Concepts/03-objects.md) |
19 | | -- [Tagging](02-Concepts/04-tagging.md) |
20 | | -- [Index](02-Concepts/05-index.md) |
21 | | -- [References](02-Concepts/06-references.md) |
22 | | -- [Navigation](02-Concepts/07-navigation.md) |
23 | | -- [Branching](02-Concepts/08-branching.md) |
24 | | -- [Merging](02-Concepts/09-merging.md) |
25 | | -- [Stashing](02-Concepts/10-stashing.md) |
26 | | -- [Selectors](02-Concepts/11-selectors.md) |
27 | | -- [Pathspec](02-Concepts/12-pathspec.md) |
28 | | -- [Refspec](02-Concepts/13-refspec.md) |
29 | | -- [Subproject](02-Concepts/14-subproject.md) |
30 | | - |
31 | | -### Operations |
32 | | -- [Help](03-Operations/01-Help/help.md) |
33 | | -- [Create](03-Operations/02-Create/create.md) |
34 | | -- [Configure](03-Operations/03-Configure/configure.md) |
35 | | -- [Track](03-Operations/04-Track/track.md) |
36 | | -- [Branch](03-Operations/05-Branch/branch.md) |
37 | | -- [Sync](03-Operations/06-Sync/sync.md) |
38 | | -- [Revert](03-Operations/07-Revert/revert.md) |
39 | | -- [Inspect](03-Operations/08-Inspect/inspect.md) |
40 | | -- [Reuse](03-Operations/09-Reuse/reuse.md) |
41 | | - |
42 | | -### Appendix |
43 | | -- [Dictionary](04-Appendix/dictionary.md) |
44 | | -- [References](04-Appendix/references.md) |
45 | | -- [Clients](04-Appendix/clients.md) |
46 | | -- [Remarks](04-Appendix/remarks.md) |
47 | | - |
48 | | -### Selected references |
49 | | -- [Git Internals](https://github.com/pluralsight/git-internals-pdf/releases) |
50 | | -- [Flight rules for git](https://github.com/k88hudson/git-flight-rules) |
51 | | -- [Think Like (a) Git](http://think-like-a-git.net/) |
52 | | -- [The Thing About Git](https://tomayko.com/blog/2008/the-thing-about-git) |
53 | | -- [Git Community Book](http://shafiul.github.io/gitbook/index.html) |
54 | | -- [Git Magic](http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html) |
55 | | -- [Git Immersion](https://gitimmersion.com/index.html) |
56 | | -- [Git How To](https://githowto.com/) |
57 | | - |
58 | | -## Contribution |
59 | | -- [Guidelines](CONTRIBUTING.md) |
60 | | -- [License](LICENSE.md) |
61 | | - |
62 | | -## Credits |
63 | | -- [Branimir Georgiev](https://github.com/braboj) |
64 | | -- [Marwan Rashed](https://github.com/marwan-rashed) |
| 5 | +--- |
| 6 | + |
| 7 | +A hands-on tutorial that takes you from first commit to confident daily use. Learn Git's concepts first, then apply them through practical command references and real-world examples. |
| 8 | + |
| 9 | +## What you'll learn |
| 10 | + |
| 11 | +<div class="grid cards" markdown> |
| 12 | + |
| 13 | +- :material-lightbulb-outline:{ .lg .middle } **Concepts** |
| 14 | + |
| 15 | + --- |
| 16 | + |
| 17 | + Understand how Git actually works — objects, references, branching, merging, conflict resolution, and branching strategies. |
| 18 | + |
| 19 | + [:octicons-arrow-right-24: Start with concepts](02-Concepts/concepts.md) |
| 20 | + |
| 21 | +- :material-console:{ .lg .middle } **Operations** |
| 22 | + |
| 23 | + --- |
| 24 | + |
| 25 | + Master 30+ Git commands organized by workflow: create, track, branch, sync, revert, and inspect. |
| 26 | + |
| 27 | + [:octicons-arrow-right-24: Browse operations](03-Operations/operations.md) |
| 28 | + |
| 29 | +- :material-test-tube:{ .lg .middle } **Test yourself** |
| 30 | + |
| 31 | + --- |
| 32 | + |
| 33 | + 96 quiz questions to validate your understanding and prepare for technical interviews. |
| 34 | + |
| 35 | + [:octicons-arrow-right-24: Take the quiz](Assets/test/test-questions.md) |
| 36 | + |
| 37 | +- :material-book-open-variant:{ .lg .middle } **Reference** |
| 38 | + |
| 39 | + --- |
| 40 | + |
| 41 | + Git dictionary, cheat sheets, client tools, and curated external resources. |
| 42 | + |
| 43 | + [:octicons-arrow-right-24: Appendix](04-Appendix/appendix.md) |
| 44 | + |
| 45 | +</div> |
| 46 | + |
| 47 | +## Learning path |
| 48 | + |
| 49 | +| Stage | Topics | You'll be able to... | |
| 50 | +|-------|--------|---------------------| |
| 51 | +| **1. Setup** | Installation, hosting services | Install Git and create a GitHub account | |
| 52 | +| **2. Basics** | Repository, configuration, dataflow | Initialize repos, configure identity, understand staging | |
| 53 | +| **3. Daily workflow** | add, commit, push, pull, status, log, diff | Track changes and collaborate with a remote | |
| 54 | +| **4. Branching** | branch, checkout, merge, stash | Work on features in isolation and integrate them | |
| 55 | +| **5. Advanced** | rebase, cherry-pick, reset, conflicts | Rewrite history, resolve conflicts, recover from mistakes | |
| 56 | +| **6. Mastery** | Objects, references, selectors, refspec | Understand Git internals and debug complex situations | |
| 57 | + |
| 58 | +## Quick start |
| 59 | + |
| 60 | +New to Git? Start here: |
| 61 | + |
| 62 | +1. [Install Git](01-Introduction/02-windows-installation.md) on your machine |
| 63 | +2. [Understand the dataflow](01-Introduction/05-dataflow-overview.md) — working directory, index, local repo, remote |
| 64 | +3. [Create your first repository](03-Operations/02-Create/01-git-init.md) |
| 65 | +4. [Make your first commit](03-Operations/04-Track/02-git-commit.md) |
| 66 | + |
| 67 | +## About |
| 68 | + |
| 69 | +Created by [Branimir Georgiev](https://github.com/braboj) and [Marwan Rashed](https://github.com/marwan-rashed). |
| 70 | + |
| 71 | +Part of [Code with Branko](https://codewithbranko.com) — practical tutorials for developers. |
| 72 | + |
| 73 | +[:octicons-law-16: MIT License](LICENSE.md) · [:octicons-people-16: Contributing](CONTRIBUTING.md) |
| 74 | + |
| 75 | +## Selected references |
| 76 | + |
| 77 | +- [Git Internals](https://github.com/pluralsight/git-internals-pdf/releases) — deep dive into Git's object model |
| 78 | +- [Flight Rules for Git](https://github.com/k88hudson/git-flight-rules) — what to do when things go wrong |
| 79 | +- [Think Like (a) Git](http://think-like-a-git.net/) — graph theory perspective |
| 80 | +- [Pro Git Book](https://git-scm.com/book/en/v2) — the definitive reference |
| 81 | +- [Git How To](https://githowto.com/) — guided tour |
0 commit comments