git ≠ github

This commit is contained in:
Heerko 2026-01-11 11:10:45 +01:00
parent 96ec74bcea
commit 347f372335
2 changed files with 2 additions and 1 deletions

View file

@ -9,7 +9,7 @@ then do a little branch-based website exercise published live.</p></div></div><d
- history (time)
- collaboration (many authors)
- experimentation (branches)
- traceability (who/what/when/why)</li></ul><p>Archiving analogy:</p><ul><li>commit = deposit with metadata</li><li>log = inventory / finding aid</li><li>branch = parallel dossier / alternative interpretation</li></ul></div><div class="step step-level-1" step="3" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="4800" data-y="0" data-z="0"><h1 id="what-git-is-not">What Git is not</h1><ul><li>Not a backup system (though it can help)</li><li>Not a file sync tool</li><li>Not a CMS</li><li>Not magic: it stores snapshots + metadata, you still choose what to record</li></ul></div><div class="step step-level-1" step="4" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="6400" data-y="0" data-z="0"><h1 id="ecosystem">Ecosystem</h1><ul><li>Git = the tool + file format</li><li>Hosting platforms:
- traceability (who/what/when/why)</li></ul><p>Archiving analogy:</p><ul><li>commit = deposit with metadata</li><li>log = inventory / finding aid</li><li>branch = parallel dossier / alternative interpretation</li></ul></div><div class="step step-level-1" step="3" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="4800" data-y="0" data-z="0"><h1 id="what-git-is-not">What Git is not</h1><ul><li>Git &#x2260; Github!</li><li>Not a backup system (though it can help)</li><li>Not a file sync tool</li><li>Not a CMS</li><li>Not magic: it stores snapshots + metadata, you still choose what to record</li></ul></div><div class="step step-level-1" step="4" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="6400" data-y="0" data-z="0"><h1 id="ecosystem">Ecosystem</h1><ul><li>Git = the tool + file format</li><li>Hosting platforms:
- GitHub, GitLab, Bitbucket
- Forgejo / Gitea (self-hosted)</li></ul></div><div class="step step-level-1" step="5" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="8000" data-y="0" data-z="0"><h1 id="typical-workflow">Typical workflow</h1><ul><li>remote (server copy)</li><li>clone (get a copy)</li><li>push (send your commits back to the server)</li><li>pull/fetch (receive updates)</li></ul></div><div class="step step-level-1" step="6" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="9600" data-y="0" data-z="0"><h1 id="workshop-outcome">Workshop outcome</h1><p>Each participant will:</p><ul><li>clone a repo</li><li>create a branch</li><li>edit a simple profile website</li><li>commit changes with a clear message</li><li>push branch to Forgejo</li><li>see it appear in the live gallery</li></ul></div><div class="step step-level-1" step="7" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="11200" data-y="0" data-z="0"><h1 id="install-git">Install Git</h1><p>Check first:</p><pre class="highlight code bash">git<span class="w"> </span>--version</pre><p>If missing:</p><ul><li>macOS: Xcode Command Line Tools</li><li>Windows: Git for Windows</li><li>Linux: package manager (apt/dnf/pacman)</li></ul><p>Minimum requirement: you can run git in a terminal.</p></div><div class="step step-level-1" step="8" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="12800" data-y="0" data-z="0"><h1 id="core-concept-three-areas">Core concept: three areas</h1><ol><li>Working tree: your files right now</li><li>Staging area (index): selection for the next deposit</li><li>Repository history: commits (deposits)</li></ol><p>This is why Git feels "archival":</p><ul><li>you intentionally select what becomes part of the record.</li></ul></div><div class="step step-level-1" step="9" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="14400" data-y="0" data-z="0"><h1 id="commands-the-essential-set">Commands: the essential set</h1><ul><li>git status (always)</li><li>git init (initalise a repo)</li><li>git commit (store changes in the repo)</li><li>git add (add files to the commit)</li><li>git branch (take a detour)</li><li>git merge (merge branches)</li><li>git checkout (get the repo at a specific state)</li><li>git fetch (sync with a repo online)</li><li>git pull (sync with a repo online and merge)</li><li>git diff (what changed)</li><li>git log (history)</li><li>plus: log, diff</li></ul></div><div class="step step-level-1" step="10" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="16000" data-y="0" data-z="0"><h1 id="command-git-init">Command: git init</h1><p>Create a repository in the current folder.
Use this when you are creating and working on your own projects.</p><pre class="highlight code bash">git<span class="w"> </span>init</pre><p>Creates a .git/ directory containing history + metadata.</p><div class="notes"><p>For the exercise we will use git clone instead of git init.</p></div></div><div class="step step-level-1" step="11" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="17600" data-y="0" data-z="0"><h1 id="command-git-clone">Command: git clone</h1><p>Cloen (copy) a repository in the current folder.</p><pre class="highlight code bash">git<span class="w"> </span>clone<span class="w"> </span>https://git.hackersanddesigners.nl/hrk/braids<span class="w"> </span>&lt;destination&gt;</pre><p>Downloads a repo from the web, complete with the full commit history and all changes.</p></div><div class="step step-level-1" step="12" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="19200" data-y="0" data-z="0"><h1 id="command-git-status-your-dashboard">Command: git status (your dashboard)</h1><pre class="highlight code bash">git<span class="w"> </span>status</pre><p>Shows:</p><ul><li>current branch</li><li>staged vs unstaged changes</li><li>untracked files</li></ul></div><div class="step step-level-1" step="13" data-rotate-x="0" data-rotate-y="0" data-rotate-z="0" data-scale="1" data-x="20800" data-y="0" data-z="0"><h1 id="command-git-add-select-files">Command: git add (select files)</h1><p>Stage files for the next commit.</p><pre class="highlight code bash">git<span class="w"> </span>add<span class="w"> </span>index.html<span class="w">

View file

@ -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