From 347f3723355dd3a84da02d7185adbe97ca3362fb Mon Sep 17 00:00:00 2001
From: Heerko
Date: Sun, 11 Jan 2026 11:10:45 +0100
Subject: [PATCH] =?UTF-8?q?git=20=E2=89=A0=20github?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html_output/index.html | 2 +-
slides.rst | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/html_output/index.html b/html_output/index.html
index f9d061f..3088724 100644
--- a/html_output/index.html
+++ b/html_output/index.html
@@ -9,7 +9,7 @@ then do a little branch-based website exercise published live.
Archiving analogy:
- commit = deposit with metadata
- log = inventory / finding aid
- branch = parallel dossier / alternative interpretation
What Git is not
- Not a backup system (though it can help)
- Not a file sync tool
- Not a CMS
- Not magic: it stores snapshots + metadata, you still choose what to record
Ecosystem
- Git = the tool + file format
- Hosting platforms:
+- traceability (who/what/when/why)
Archiving analogy:
- commit = deposit with metadata
- log = inventory / finding aid
- branch = parallel dossier / alternative interpretation
What Git is not
- Git ≠ Github!
- Not a backup system (though it can help)
- Not a file sync tool
- Not a CMS
- Not magic: it stores snapshots + metadata, you still choose what to record
Ecosystem
- Git = the tool + file format
- Hosting platforms:
- GitHub, GitLab, Bitbucket
- Forgejo / Gitea (self-hosted)
Typical workflow
- remote (server copy)
- clone (get a copy)
- push (send your commits back to the server)
- pull/fetch (receive updates)
Workshop outcome
Each participant will:
- clone a repo
- create a branch
- edit a simple profile website
- commit changes with a clear message
- push branch to Forgejo
- see it appear in the live gallery
Install Git
Check first:
git --version
If missing:
- macOS: Xcode Command Line Tools
- Windows: Git for Windows
- Linux: package manager (apt/dnf/pacman)
Minimum requirement: you can run git in a terminal.
Core concept: three areas
- Working tree: your files right now
- Staging area (index): selection for the next deposit
- Repository history: commits (deposits)
This is why Git feels "archival":
- you intentionally select what becomes part of the record.
Commands: the essential set
- git status (always)
- git init (initalise a repo)
- git commit (store changes in the repo)
- git add (add files to the commit)
- git branch (take a detour)
- git merge (merge branches)
- git checkout (get the repo at a specific state)
- git fetch (sync with a repo online)
- git pull (sync with a repo online and merge)
- git diff (what changed)
- git log (history)
- plus: log, diff
Command: git init
Create a repository in the current folder.
Use this when you are creating and working on your own projects.
git init
Creates a .git/ directory containing history + metadata.
For the exercise we will use git clone instead of git init.
Command: git clone
Cloen (copy) a repository in the current folder.
git clone https://git.hackersanddesigners.nl/hrk/braids <destination>
Downloads a repo from the web, complete with the full commit history and all changes.
Command: git status (your dashboard)
git status
Shows:
- current branch
- staged vs unstaged changes
- untracked files
Command: git add (select files)
Stage files for the next commit.
git add index.html
diff --git a/slides.rst b/slides.rst
index f1c20cc..0c8c3c1 100644
--- a/slides.rst
+++ b/slides.rst
@@ -53,6 +53,7 @@ Archiving analogy:
What Git is not
===============
+- Git ≠ Github!
- Not a backup system (though it can help)
- Not a file sync tool
- Not a CMS