Skip to content

Commit f2fff1f

Browse files
authored
Merge pull request #95 from braboj/fix/broken-links
Fix broken cross-references and tutorial links
2 parents 3e6821b + 31910d6 commit f2fff1f

8 files changed

Lines changed: 58 additions & 67 deletions

File tree

astro-site/src/content/docs/appendix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ order: 8
88

99
This appendix contains reference material that supports the tutorial
1010
chapters — merge strategies, Git clients, external resources, and
11-
notes. For step-by-step recipes, see the [Playbook](07-playbook.md).
11+
notes. For step-by-step recipes, see the [Playbook](../playbook/).
1212
For command help, run `git help <command>`.
1313

1414
## Merge Strategies

astro-site/src/content/docs/branching-and-merging.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ or managing multiple features at once.
1414

1515
## Branching
1616

17-
As covered in [Building Blocks](02-building-blocks.md), a branch is a
17+
As covered in [Building Blocks](../building-blocks/), a branch is a
1818
pointer to a specific commit. Creating a branch is a "cheap" operation —
1919
Git does not copy any files, it only creates a new reference. This
2020
section focuses on how branches are used in practice.
@@ -244,7 +244,7 @@ different sources:
244244
| `git merge` | Both branches changed the same lines |
245245
| `git rebase` | A replayed commit touches lines modified upstream |
246246
| `git cherry-pick` | The picked commit overlaps with the current state |
247-
| `git pull` | Remote changes overlap with local changes (see [Remote Repositories](04-remote-repositories.md)) |
247+
| `git pull` | Remote changes overlap with local changes (see [Remote Repositories](../remote-repositories/)) |
248248
| `git stash pop` | Stashed changes conflict with the current working tree |
249249

250250
### How Git marks conflicts
@@ -445,7 +445,7 @@ A stash is a commit object **W** with two parents:
445445
## Exercises
446446

447447
All exercises use the `concepts-lab` repository created in
448-
[Building Blocks](02-building-blocks.md). If you skipped that chapter, create a new
448+
[Building Blocks](../building-blocks/). If you skipped that chapter, create a new
449449
repository with at least one commit before starting.
450450

451451
### Exercise 1: Branch Lifecycle

astro-site/src/content/docs/building-blocks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ $ git ls-files --stage
353353
Each line shows: `<mode> <blob-hash> <stage-flag> <file-path>`. The
354354
stage flag is `0` during normal operation — it changes to `1`, `2`, or
355355
`3` only during a merge conflict (covered in
356-
[Branching and Merging](03-branching-and-merging.md)).
356+
[Branching and Merging](../branching-and-merging/)).
357357

358358
### Understanding the Mode Field
359359

astro-site/src/content/docs/glossary.md

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,48 @@ order: 9
88

99
| Term | Definition | Chapter |
1010
|------|-----------|---------|
11-
| Annotated tag | A tag object with author, date, and message — stored in `.git/objects/` | [2](02-building-blocks.md) |
12-
| Bare repository | A repository with no working tree — only `.git/` internals | [2](02-building-blocks.md) |
13-
| Bisect | Binary search through commit history to find the commit that introduced a bug | [6](06-expert-topics.md) |
14-
| Blame | Show which commit and author last modified each line of a file | [7](07-playbook.md) |
15-
| Blob | Object that stores the raw contents of a single file | [2](02-building-blocks.md) |
16-
| Branch | A movable pointer to a commit, stored in `.git/refs/heads/` | [2](02-building-blocks.md) |
17-
| Cherry-pick | Copy a single commit from one branch onto another, creating a new commit with a different hash | [3](03-branching-and-merging.md) |
18-
| Clone | Create a local copy of a remote repository, including full history, origin remote, and tracking branches | [4](04-remote-repositories.md) |
19-
| Commit | An object that records a snapshot of the project — references a tree, parent commits, author, and message | [2](02-building-blocks.md) |
20-
| Conflict | When two branches modify the same lines and Git cannot merge them automatically | [3](03-branching-and-merging.md) |
21-
| Detached HEAD | State where HEAD points directly to a commit instead of a branch — new commits are orphaned if you switch away | [2](02-building-blocks.md) |
22-
| Fast-forward | A merge where the target branch simply moves forward to the source branch tip — no merge commit is created | [3](03-branching-and-merging.md) |
23-
| Fetch | Download commits from a remote and update remote-tracking branches without modifying local branches | [4](04-remote-repositories.md) |
24-
| Fork | A hosting-platform copy of someone else's repository under your account | [4](04-remote-repositories.md) |
25-
| Garbage collection | Git's process for removing orphaned objects from `.git/objects/` | [6](06-expert-topics.md) |
26-
| Hash | A unique 40-character identifier (SHA-1) computed from an object's content | [2](02-building-blocks.md) |
27-
| HEAD | Reference to the current position — usually points to a branch, sometimes directly to a commit (detached) | [2](02-building-blocks.md) |
28-
| Hook | A script in `.git/hooks/` that Git runs automatically before or after events like commit or push | [6](06-expert-topics.md) |
29-
| Index | The staging area — a sorted list of tracked files prepared for the next commit, stored at `.git/index` | [2](02-building-blocks.md) |
30-
| Interactive rebase | Editing, reordering, squashing, or dropping commits before sharing them | [6](06-expert-topics.md) |
31-
| Lightweight tag | A tag that is just a file in `.git/refs/tags/` containing a commit hash — no object, no metadata | [2](02-building-blocks.md) |
32-
| Merge | Combining changes from two branches into one, optionally creating a merge commit | [3](03-branching-and-merging.md) |
33-
| Merge commit | A commit with two or more parents, created by a 3-way merge | [3](03-branching-and-merging.md) |
34-
| Origin | Conventional name for the remote you cloned from | [4](04-remote-repositories.md) |
35-
| Orphaned commit | A commit no branch or tag points to — eligible for garbage collection after reflog expiry | [6](06-expert-topics.md) |
36-
| Pathspec | A pattern that matches files or directories in Git commands | [6](06-expert-topics.md) |
37-
| Pull | Fetch from a remote and merge (or rebase) into the current branch | [4](04-remote-repositories.md) |
38-
| Pull request | A hosting-platform feature for requesting review and merge of a branch | [4](04-remote-repositories.md) |
39-
| Push | Upload local commits to a remote branch | [4](04-remote-repositories.md) |
40-
| Rebase | Replay commits from one branch on top of another, producing a linear history | [3](03-branching-and-merging.md) |
41-
| Reflog | A local log of every position HEAD and branch tips have been in — used to recover lost commits | [6](06-expert-topics.md) |
42-
| Refspec | Syntax that maps references between a remote and a local repository (e.g. `+refs/heads/*:refs/remotes/origin/*`) | [6](06-expert-topics.md) |
43-
| Remote | A named reference to another repository, stored in `.git/config` | [4](04-remote-repositories.md) |
44-
| Remote-tracking branch | A read-only local reference that mirrors a remote branch (e.g. `origin/main`), updated by fetch and pull | [4](04-remote-repositories.md) |
45-
| Repository | The `.git/` directory containing all objects, references, and configuration for a project | [2](02-building-blocks.md) |
46-
| Reset | Move HEAD and optionally the branch tip to a different commit — `--soft`, `--mixed`, or `--hard` | [2](02-building-blocks.md) |
47-
| Revert | Create a new commit that undoes a previous commit's changes without rewriting history | [7](07-playbook.md) |
48-
| Squash merge | Combine all commits from a branch into a single change set on the target branch — no merge commit | [3](03-branching-and-merging.md) |
49-
| Stash | Save uncommitted changes temporarily so you can switch branches with a clean working tree | [3](03-branching-and-merging.md) |
50-
| Submodule | A reference to a specific commit in another repository — stores URL and hash, not files | [5](05-subprojects.md) |
51-
| Subtree | A full copy of another repository merged into a subdirectory of the parent project | [5](05-subprojects.md) |
52-
| Tag | A named reference to a commit — annotated (object with metadata) or lightweight (plain reference) | [2](02-building-blocks.md) |
53-
| Tree | Object that represents a directory — lists blobs and other trees with names and permissions | [2](02-building-blocks.md) |
54-
| Upstream | Conventional name for the original repository you forked from | [4](04-remote-repositories.md) |
55-
| Working tree | The checked-out files on disk that you edit directly — everything outside `.git/` | [2](02-building-blocks.md) |
11+
| Annotated tag | A tag object with author, date, and message — stored in `.git/objects/` | [2](../building-blocks/) |
12+
| Bare repository | A repository with no working tree — only `.git/` internals | [2](../building-blocks/) |
13+
| Bisect | Binary search through commit history to find the commit that introduced a bug | [6](../expert-topics/) |
14+
| Blame | Show which commit and author last modified each line of a file | [7](../playbook/) |
15+
| Blob | Object that stores the raw contents of a single file | [2](../building-blocks/) |
16+
| Branch | A movable pointer to a commit, stored in `.git/refs/heads/` | [2](../building-blocks/) |
17+
| Cherry-pick | Copy a single commit from one branch onto another, creating a new commit with a different hash | [3](../branching-and-merging/) |
18+
| Clone | Create a local copy of a remote repository, including full history, origin remote, and tracking branches | [4](../remote-repositories/) |
19+
| Commit | An object that records a snapshot of the project — references a tree, parent commits, author, and message | [2](../building-blocks/) |
20+
| Conflict | When two branches modify the same lines and Git cannot merge them automatically | [3](../branching-and-merging/) |
21+
| Detached HEAD | State where HEAD points directly to a commit instead of a branch — new commits are orphaned if you switch away | [2](../building-blocks/) |
22+
| Fast-forward | A merge where the target branch simply moves forward to the source branch tip — no merge commit is created | [3](../branching-and-merging/) |
23+
| Fetch | Download commits from a remote and update remote-tracking branches without modifying local branches | [4](../remote-repositories/) |
24+
| Fork | A hosting-platform copy of someone else's repository under your account | [4](../remote-repositories/) |
25+
| Garbage collection | Git's process for removing orphaned objects from `.git/objects/` | [6](../expert-topics/) |
26+
| Hash | A unique 40-character identifier (SHA-1) computed from an object's content | [2](../building-blocks/) |
27+
| HEAD | Reference to the current position — usually points to a branch, sometimes directly to a commit (detached) | [2](../building-blocks/) |
28+
| Hook | A script in `.git/hooks/` that Git runs automatically before or after events like commit or push | [6](../expert-topics/) |
29+
| Index | The staging area — a sorted list of tracked files prepared for the next commit, stored at `.git/index` | [2](../building-blocks/) |
30+
| Interactive rebase | Editing, reordering, squashing, or dropping commits before sharing them | [6](../expert-topics/) |
31+
| Lightweight tag | A tag that is just a file in `.git/refs/tags/` containing a commit hash — no object, no metadata | [2](../building-blocks/) |
32+
| Merge | Combining changes from two branches into one, optionally creating a merge commit | [3](../branching-and-merging/) |
33+
| Merge commit | A commit with two or more parents, created by a 3-way merge | [3](../branching-and-merging/) |
34+
| Origin | Conventional name for the remote you cloned from | [4](../remote-repositories/) |
35+
| Orphaned commit | A commit no branch or tag points to — eligible for garbage collection after reflog expiry | [6](../expert-topics/) |
36+
| Pathspec | A pattern that matches files or directories in Git commands | [6](../expert-topics/) |
37+
| Pull | Fetch from a remote and merge (or rebase) into the current branch | [4](../remote-repositories/) |
38+
| Pull request | A hosting-platform feature for requesting review and merge of a branch | [4](../remote-repositories/) |
39+
| Push | Upload local commits to a remote branch | [4](../remote-repositories/) |
40+
| Rebase | Replay commits from one branch on top of another, producing a linear history | [3](../branching-and-merging/) |
41+
| Reflog | A local log of every position HEAD and branch tips have been in — used to recover lost commits | [6](../expert-topics/) |
42+
| Refspec | Syntax that maps references between a remote and a local repository (e.g. `+refs/heads/*:refs/remotes/origin/*`) | [6](../expert-topics/) |
43+
| Remote | A named reference to another repository, stored in `.git/config` | [4](../remote-repositories/) |
44+
| Remote-tracking branch | A read-only local reference that mirrors a remote branch (e.g. `origin/main`), updated by fetch and pull | [4](../remote-repositories/) |
45+
| Repository | The `.git/` directory containing all objects, references, and configuration for a project | [2](../building-blocks/) |
46+
| Reset | Move HEAD and optionally the branch tip to a different commit — `--soft`, `--mixed`, or `--hard` | [2](../building-blocks/) |
47+
| Revert | Create a new commit that undoes a previous commit's changes without rewriting history | [7](../playbook/) |
48+
| Squash merge | Combine all commits from a branch into a single change set on the target branch — no merge commit | [3](../branching-and-merging/) |
49+
| Stash | Save uncommitted changes temporarily so you can switch branches with a clean working tree | [3](../branching-and-merging/) |
50+
| Submodule | A reference to a specific commit in another repository — stores URL and hash, not files | [5](../subprojects/) |
51+
| Subtree | A full copy of another repository merged into a subdirectory of the parent project | [5](../subprojects/) |
52+
| Tag | A named reference to a commit — annotated (object with metadata) or lightweight (plain reference) | [2](../building-blocks/) |
53+
| Tree | Object that represents a directory — lists blobs and other trees with names and permissions | [2](../building-blocks/) |
54+
| Upstream | Conventional name for the original repository you forked from | [4](../remote-repositories/) |
55+
| Working tree | The checked-out files on disk that you edit directly — everything outside `.git/` | [2](../building-blocks/) |

astro-site/src/content/docs/playbook.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ This chapter is a quick-reference collection of recipes for common
1010
Git tasks. Each recipe shows the problem, the commands to solve it,
1111
and what to watch out for.
1212

13-
For command syntax, see [Appendix](08-appendix.md). For definitions,
14-
see [Glossary](09-glossary.md).
13+
For command syntax, see [Appendix](../appendix/). For definitions,
14+
see [Glossary](../glossary/).
1515

1616
## Undoing changes
1717

astro-site/src/content/docs/remote-repositories.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ local and remote branches in sync. These are the operations that turn
1212
Git from a local history tool into a collaboration platform.
1313

1414
The basics of connecting to a remote were introduced in
15-
[Introduction](01-introduction.md) (Exercise 6). This chapter goes
15+
[Introduction](../introduction/) (Exercise 6). This chapter goes
1616
deeper into the mechanics and the workflows you will use daily.
1717

1818
![Remote flow](../assets/images/git-remote-flow.png)
@@ -75,7 +75,7 @@ origin/feature
7575
upstream/main
7676
```
7777

78-
As covered in [Building Blocks](02-building-blocks.md), these references
78+
As covered in [Building Blocks](../building-blocks/), these references
7979
live in `.git/refs/remotes/`. They are updated automatically by `fetch`
8080
and `pull`, never by your local commits.
8181

@@ -119,7 +119,7 @@ Git supports two URL protocols:
119119
| SSH | `git@github.com:user/repo.git` | Requires SSH key setup, no password prompts |
120120

121121
HTTPS is simpler to start with. SSH is covered in the
122-
[Appendix](08-appendix.md).
122+
[Appendix](../appendix/).
123123

124124
## Fetching
125125

@@ -176,7 +176,7 @@ $ git config --global pull.rebase true
176176

177177
If the remote changes conflict with your local changes, Git stops and
178178
asks you to resolve the conflict — the same process described in
179-
[Branching and Merging](03-branching-and-merging.md#conflicts). After
179+
[Branching and Merging](../branching-and-merging/#conflicts). After
180180
resolving:
181181

182182
```text

astro-site/src/content/docs/subprojects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ repository's files.
199199
initialization.
200200

201201
**Prerequisite:** `concepts-lab` must be pushed to GitHub (see
202-
[Remote Repositories](04-remote-repositories.md), Exercise 1).
202+
[Remote Repositories](../remote-repositories/), Exercise 1).
203203

204204
**Steps:**
205205

astro-site/src/data/site.json

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,6 @@
1717
],
1818
"tutorials": [
1919
{ "label": "Azure", "href": "https://braboj.github.io/tutorial-azure/" },
20-
{ "label": "Dart", "href": "https://braboj.github.io/tutorial-dart/" },
21-
{ "label": "Docker", "href": "https://braboj.github.io/tutorial-docker/" },
22-
{ "label": "Exams", "href": "https://braboj.github.io/tutorial-exams/" },
23-
{ "label": "Microprocessor", "href": "https://braboj.github.io/tutorial-microprocessor/" },
24-
{ "label": "Modbus", "href": "https://braboj.github.io/tutorial-modbus/" },
25-
{ "label": "Networks", "href": "https://braboj.github.io/tutorial-networks/" },
26-
{ "label": "OpenSSL", "href": "https://braboj.github.io/tutorial-openssl/" },
27-
{ "label": "Operating Systems", "href": "https://braboj.github.io/tutorial-os/" },
28-
{ "label": "Python", "href": "https://braboj.github.io/tutorial-python/" },
29-
{ "label": "Testing", "href": "https://braboj.github.io/tutorial-testing/" }
20+
{ "label": "Python", "href": "https://braboj.github.io/tutorial-python/" }
3021
]
3122
}

0 commit comments

Comments
 (0)