From 55e09496495fb5257370fc842fd9f0ddb32ec862 Mon Sep 17 00:00:00 2001 From: Heerko Date: Fri, 9 Jan 2026 17:12:19 +0100 Subject: [PATCH] update slides --- html_output/2026-01-08_hrko.html | 29 +++++++++++++++++ html_output/2026-01-09_hrko.html | 30 ++++++++++++++++++ html_output/index.html | 29 ++++++++--------- slides.rst | 53 +++++++++++++++++--------------- 4 files changed, 103 insertions(+), 38 deletions(-) create mode 100644 html_output/2026-01-08_hrko.html create mode 100644 html_output/2026-01-09_hrko.html diff --git a/html_output/2026-01-08_hrko.html b/html_output/2026-01-08_hrko.html new file mode 100644 index 0000000..72150e7 --- /dev/null +++ b/html_output/2026-01-08_hrko.html @@ -0,0 +1,29 @@ +Braids - Intro to Git

Soilpunk 🌏🤘 - Joulethief

Git as Archiving: MySpace-Style Pages (90 min)

Goal: introduce Git as an archiving practice (history, provenance, selection), +then do a playful branch-based website exercise published live.

Agenda (90 min)

  1. Context: what Git is, what it does, who uses it (10 min)
  2. Install + quick sanity check (10 min)
  3. Core concepts + core commands (20 min)
  4. Forgejo: accounts + clone/push permissions (10 min)
  5. Exercise: branch a page, publish live, iterate (35 min)
  6. Wrap-up: good practices + next steps (5 min)

What is Git

  • Distributed version control system
  • Tracks changes over time
  • Enables: +- history (time) +- collaboration (many authors) +- experimentation (branches) +- traceability (who/what/when/why)

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: +- GitHub, GitLab, Bitbucket +- Forgejo / Gitea (self-hosted)

Typical workflow terms:

  • remote (server copy)
  • clone (get a copy)
  • push (send your commits)
  • 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.

Configure identity (once)

git config --global user.name  "Your Name"
+git config --global user.email "you@example.com"

Check:

git config --global --list

This shows up in commit metadata (provenance).

Core concept: three areas

  1. Working tree: your files right now
  2. Staging area (index): selection for the next deposit
  3. Repository history: commits (deposits)

This is why Git feels "archival":

  • you intentionally select what becomes part of the record.

Commands: the essential set

You listed most, but for usability we add 3:

  • git status (always)
  • git log (history)
  • git diff (what changed)

Recommended minimal set for today:

  • init, status, add, commit, branch/checkout, push, pull
  • plus: log, diff

Command: git init

Create a repository in the current folder.

git init

Creates a .git/ directory containing history + metadata.

For the exercise we will use git clone instead of git init.

Command: git status (your dashboard)

git status

Shows:

  • current branch
  • staged vs unstaged changes
  • untracked files

If you only remember one command: remember this.

Command: git add (selection)

Stage files for the next commit (deposit).

git add index.html
+git add assets/

Stage everything (use carefully):

git add .

Staging is curatorial: select what belongs together.

Command: git commit (deposit + metadata)

git commit -m "Add MySpace-style profile page"

Good commit message pattern:

  • What changed
  • Why it changed (reason/intent)
  • Scope stays small

Command: git diff (what changed)

Unstaged changes:

git diff

Staged changes:

git diff --staged

Command: git log (inventory)

git log --oneline --decorate --graph -n 10

Gives a quick "finding aid" of deposits.

Command: git branch and git checkout

List branches:

git branch

Create a branch:

git branch people/yourname

Switch to branch:

git checkout people/yourname

Shortcut (create + switch):

git checkout -b people/yourname

Branches are parallel dossiers: safe space for changes.

Command: git push / git pull

Push your branch to the server:

git push -u origin people/yourname

Pull updates from server:

git pull

During the exercise you mostly push your branch. +Pull is mainly for getting new changes on main (if needed).

Optional: git rm

Remove a tracked file and stage the removal:

git rm old.html
+git commit -m "Remove old page"

For this workshop you probably will not need it.

Forgejo: what we use today

  • Forgejo hosts the central repository (remote)
  • You will: +- create an account +- clone via HTTPS/SSH +- push your branch

Rules for today:

  • do NOT push to main
  • create your branch under people/<slug>

Forgejo: account setup

  1. Create account at: git.<your-domain>
  2. Confirm you can sign in
  3. Add SSH key (optional) OR use HTTPS credentials

We will provide:

  • repo URL
  • branch naming convention
  • live gallery URL: braids.<your-domain>

Exercise overview

You will build a deliberately simple “MySpace-style” page:

  • "Hi, I'm …"
  • one gif
  • one link
  • optional: background, glitter, bad taste encouraged

Workflow loop:

clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate

Exercise: step 1 (clone)

git clone <REPO_URL>
+cd <REPO_NAME>

Sanity check:

git status
+git branch

Exercise: step 2 (create your branch)

Choose a slug: lowercase, no spaces. Example: people/alex.

git checkout -b people/<your-slug>

Confirm:

git status

Exercise: step 3 (edit the page)

Edit the root index.html (and optionally style.css, assets/).

Make a visible change first:

  • your name
  • one gif
  • one link

Then check changes:

git diff
+git status

Exercise: step 4 (stage + commit)

git add index.html
+git commit -m "Customize profile page for <your-slug>"

If you added assets:

git add assets/
+git commit -m "Add assets for <your-slug>"

Small commits win. One change = one deposit.

Exercise: step 5 (push your branch)

git push -u origin people/<your-slug>

If prompted for credentials, use your Forgejo login method.

Exercise: step 6 (view live)

Open the gallery:

  • https://braids.<your-domain>/

Find your card:

  • people/<your-slug>/

Iterate:

edit -> status -> add -> commit -> push -> refresh

Common problems (fast fixes)

Wrong branch:

git branch
+git checkout people/<your-slug>

Nothing staged:

git status
+git add index.html

Push rejected (main protected):

  • You are on main. Switch to your branch.

Auth issues:

  • HTTPS: check username/token/password
  • SSH: check key added to Forgejo + ssh -T

Concept recap in archiving terms

  • commit = deposit (with minimal metadata)
  • log = inventory / chain of custody
  • diff = conservation report (what changed)
  • branch = parallel dossier
  • push = deposit to institutional archive (remote)

Suggested “good enough” commit messages

Bad:

  • "update"
  • "stuff"
  • "changes"

Better:

  • "Add animated gif and profile link"
  • "Change background and typography"
  • "Fix broken image path"
  • "Refactor layout: move link block above gif"

Rule: message should still make sense in 6 months.

Optional extension (if time remains)

  • Compare two branches visually (gallery view)
  • Add a second commit that intentionally breaks something, +then fix it with a third commit
  • Show git log to narrate your work as a documented process

Wrap-up

You should now be able to:

  • create a branch safely
  • record changes as commits
  • publish to a remote
  • read history and differences

Next steps:

  • merging via PRs (review workflow)
  • tags/releases (archival milestones)
  • basic collaboration patterns (feature branches)

End: remind participants their branches will be removed after the workshop.

\ No newline at end of file diff --git a/html_output/2026-01-09_hrko.html b/html_output/2026-01-09_hrko.html new file mode 100644 index 0000000..622eab9 --- /dev/null +++ b/html_output/2026-01-09_hrko.html @@ -0,0 +1,30 @@ +Braids - Intro to Git

Braids - Intro to Git

Braids - Intro to Git

Goal: introduce Git as an archiving practice, +then do a little branch-based website exercise published live.

Agenda (90 min)

  1. Context: what Git is, what it does, who uses it (10 min)
  2. Install Git (10 min)
  3. Core concepts + core commands (20 min)
  4. Forgejo: accounts + clone/push permissions (10 min)
  5. Exercise: branch a page, publish live, iterate (35 min)
  6. Wrap-up: good practices + next steps (5 min)

What is Git

  • Distributed version control system
  • Tracks changes over time
  • Enables: +- history (time) +- collaboration (many authors) +- experimentation (branches) +- traceability (who/what/when/why)

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: +- 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.

Configure identity (once)

git config --global user.name  "Your Name"
+git config --global user.email "you@example.com"

Check:

git config --global --list

This shows up in commit metadata (provenance).

Core concept: three areas

  1. Working tree: your files right now
  2. Staging area (index): selection for the next deposit
  3. 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
+git add assets/

Stage everything (use carefully):

git add .

Staging is curatorial: select what belongs together.

Command: git commit

git commit -m "Added name to my page"

Good commit message pattern:

  • What changed
  • Why it changed (reason/intent)
  • Scope stays small

Command: git log (inventory)

git log --oneline --graph

Gives a quick "finding aid" of earlier commits. Press 'q' to exit.

Command: git branch and git checkout

List branches:

git branch

Create a branch:

git branch people/yourname

Switch to branch:

git checkout people/yourname

Shortcut (create + switch):

git checkout -b people/yourname

Branches are parallel dossiers: safe space for changes.

Command: git push / git pull

Push your branch to the server:

git push -u origin people/yourname

Pull updates from server:

git pull

During the exercise you mostly push your branch. +Pull is mainly for getting new changes on main (if needed).

Optional: git rm

Remove a tracked file and stage the removal:

git rm old.html
+git commit -m "Remove old page"

For this workshop you probably will not need it.

Forgejo: what we use today

  • Forgejo hosts the central repository (remote)
  • You will: +- create an account +- clone via HTTPS +- push your branch

Share your username with us so we can add you as a collaborator

Rules for today:

  • do NOT push to main
  • create your branch under people/<slug>

Forgejo: account setup

  1. Create account at: git.hackersanddesigners.nl
  2. Confirm you can sign in

We will provide:

Exercise overview

You will build a (deliberately) simple page:

  • "Hi, I'm …"
  • maybe a gif?
  • a link?
  • optional: background, glitter, bad taste encouraged

Workflow loop:

clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate

Exercise: step 1 (clone)

cd to a logical location in your computer, then:

git clone https://git.hackersanddesigners.nl/hrk/braids
+cd braids

If everything went well, check the repo with:

git status
+git branch

Exercise: step 2 (create your branch)

Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change people/<your-slug> in the command below to people/alex.

git checkout -b people/<your-slug>

Confirm:

git status

Exercise: step 3 (edit the page)

Edit the root index.html (and optionally style.css, assets/).

Make a visible change first:

  • Change the name to your name (or your alias)

Then check changes:

git diff
+git status

Exercise: step 4 (stage + commit)

git add index.html
+git commit -m "Customize profile page for <your-slug>"

If you added assets:

git add assets/
+git commit -m "Add assets for <your-slug>"

Small commits win. One change = one deposit.

Exercise: step 5 (push your branch)

git push -u origin people/<your-slug>

(Again, change <your-slug>!)

If prompted for credentials, use your Forgejo login method.

Exercise: step 6 (view live)

Open the gallery:

  • https://braids.hackersanddesigners.nl/

Find your card:

  • people/<your-slug>/

Iterate:

edit -> status -> add -> commit -> push -> refresh

Common problems (fast fixes)

Wrong branch:

git branch
+git checkout people/<your-slug>

Nothing staged:

git status
+git add index.html

Push rejected (main protected):

  • You are on main. Switch to your branch.

Auth issues:

  • HTTPS: check username/password

Concept recap in archiving terms

  • commit = deposit (with minimal metadata)
  • log = inventory / chain of custody
  • diff = conservation report (what changed)
  • branch = parallel dossier
  • push = share publicly / deposit to institutional archive (remote)

Suggested “good enough” commit messages

Bad:

  • "update"
  • "stuff"
  • "changes"

Better:

  • "Add animated gif and profile link"
  • "Change background and typography"
  • "Fix broken image path"

Rule: message should still make sense in 6 months.

Optional extension (if time remains)

  • Compare two branches visually (gallery view)
  • Add a second commit that intentionally breaks something, +then fix it with a third commit
  • Show git log to narrate your work as a documented process

Wrap-up

You should now be able to:

  • create a branch safely
  • record changes as commits
  • publish to a remote
  • read history and differences

Learn more:

End: remind participants their branches will be removed after the workshop.

\ No newline at end of file diff --git a/html_output/index.html b/html_output/index.html index 8e40ce0..622eab9 100644 --- a/html_output/index.html +++ b/html_output/index.html @@ -4,26 +4,27 @@ messageStyle: "none", TeX : { extensions : ['color.js'] } }); -

Braids - Intro to Git

Braids - Intro to Git

Goal: introduce Git as an archiving practice (history, provenance, selection), -then do a playful branch-based website exercise published live.

Agenda (90 min)

  1. Context: what Git is, what it does, who uses it (10 min)
  2. Install + quick sanity check (10 min)
  3. Core concepts + core commands (20 min)
  4. Forgejo: accounts + clone/push permissions (10 min)
  5. Exercise: branch a page, publish live, iterate (35 min)
  6. Wrap-up: good practices + next steps (5 min)

What is Git

  • Distributed version control system
  • Tracks changes over time
  • Enables: +

    Braids - Intro to Git

    Braids - Intro to Git

    Goal: introduce Git as an archiving practice, +then do a little branch-based website exercise published live.

    Agenda (90 min)

    1. Context: what Git is, what it does, who uses it (10 min)
    2. Install Git (10 min)
    3. Core concepts + core commands (20 min)
    4. Forgejo: accounts + clone/push permissions (10 min)
    5. Exercise: branch a page, publish live, iterate (35 min)
    6. Wrap-up: good practices + next steps (5 min)

    What is Git

    • Distributed version control system
    • Tracks changes over time
    • Enables: - history (time) - collaboration (many authors) - experimentation (branches) - traceability (who/what/when/why)

    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: - 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.

    Configure identity (once)

    git config --global user.name  "Your Name"
    -git config --global user.email "you@example.com"

    Check:

    git config --global --list

    This shows up in commit metadata (provenance).

    Core concept: three areas

    1. Working tree: your files right now
    2. Staging area (index): selection for the next deposit
    3. 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.

    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 <repo_url> <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
    -git add assets/

    Stage everything (use carefully):

    git add .

    Staging is curatorial: select what belongs together.

    Command: git commit

    git commit -m "Added name to my page"

    Good commit message pattern:

    • What changed
    • Why it changed (reason/intent)
    • Scope stays small

    Command: git diff (what changed)

    Unstaged changes:

    git diff

    Staged changes:

    git diff --staged

    Command: git log (inventory)

    git log --oneline --graph

    Gives a quick "finding aid" of earlier commits. Press 'q' to exit.

    Command: git branch and git checkout

    List branches:

    git branch

    Create a branch:

    git branch people/yourname

    Switch to branch:

    git checkout people/yourname

    Shortcut (create + switch):

    git checkout -b people/yourname

    Branches are parallel dossiers: safe space for changes.

    Command: git push / git pull

    Push your branch to the server:

    git push -u origin people/yourname

    Pull updates from server:

    git pull

    During the exercise you mostly push your branch. -Pull is mainly for getting new changes on main (if needed).

    Optional: git rm

    Remove a tracked file and stage the removal:

    git rm old.html
    -git commit -m "Remove old page"

    For this workshop you probably will not need it.

    Forgejo: what we use today

    • Forgejo hosts the central repository (remote)
    • You will: +git config --global user.email "you@example.com"

      Check:

      git config --global --list

      This shows up in commit metadata (provenance).

    Core concept: three areas

    1. Working tree: your files right now
    2. Staging area (index): selection for the next deposit
    3. 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
    +git add assets/

    Stage everything (use carefully):

    git add .

    Staging is curatorial: select what belongs together.

    Command: git commit

    git commit -m "Added name to my page"

    Good commit message pattern:

    • What changed
    • Why it changed (reason/intent)
    • Scope stays small

    Command: git log (inventory)

    git log --oneline --graph

    Gives a quick "finding aid" of earlier commits. Press 'q' to exit.

    Command: git branch and git checkout

    List branches:

    git branch

    Create a branch:

    git branch people/yourname

    Switch to branch:

    git checkout people/yourname

    Shortcut (create + switch):

    git checkout -b people/yourname

    Branches are parallel dossiers: safe space for changes.

    Command: git push / git pull

    Push your branch to the server:

    git push -u origin people/yourname

    Pull updates from server:

    git pull

    During the exercise you mostly push your branch. +Pull is mainly for getting new changes on main (if needed).

    Optional: git rm

    Remove a tracked file and stage the removal:

    git rm old.html
    +git commit -m "Remove old page"

    For this workshop you probably will not need it.

    Forgejo: what we use today

    • Forgejo hosts the central repository (remote)
    • You will: - create an account -- clone via HTTPS/SSH -- push your branch

    Rules for today:

    • do NOT push to main
    • create your branch under people/<slug>

    Forgejo: account setup

    1. Create account at: git.<your-domain>
    2. Confirm you can sign in
    3. Add SSH key (optional) OR use HTTPS credentials

    We will provide:

    • repo URL
    • branch naming convention
    • live gallery URL: braids.<your-domain>

    Exercise overview

    You will build a deliberately simple “MySpace-style” page:

    • "Hi, I'm …"
    • one gif
    • one link
    • optional: background, glitter, bad taste encouraged

    Workflow loop:

    clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate

    Exercise: step 1 (clone)

    git clone <REPO_URL>
    -cd <REPO_NAME>

    Sanity check:

    git status
    -git branch

    Exercise: step 2 (create your branch)

    Choose a slug: lowercase, no spaces. Example: people/alex.

    git checkout -b people/<your-slug>

    Confirm:

    git status

    Exercise: step 3 (edit the page)

    Edit the root index.html (and optionally style.css, assets/).

    Make a visible change first:

    • your name
    • one gif
    • one link

    Then check changes:

    git diff
    -git status

    Exercise: step 4 (stage + commit)

    git add index.html
    +- clone via HTTPS
    +- push your branch

Share your username with us so we can add you as a collaborator

Rules for today:

  • do NOT push to main
  • create your branch under people/<slug>

Forgejo: account setup

  1. Create account at: git.hackersanddesigners.nl
  2. Confirm you can sign in

We will provide:

Exercise overview

You will build a (deliberately) simple page:

  • "Hi, I'm …"
  • maybe a gif?
  • a link?
  • optional: background, glitter, bad taste encouraged

Workflow loop:

clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate

Exercise: step 1 (clone)

cd to a logical location in your computer, then:

git clone https://git.hackersanddesigners.nl/hrk/braids
+cd braids

If everything went well, check the repo with:

git status
+git branch

Exercise: step 2 (create your branch)

Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change people/<your-slug> in the command below to people/alex.

git checkout -b people/<your-slug>

Confirm:

git status

Exercise: step 3 (edit the page)

Edit the root index.html (and optionally style.css, assets/).

Make a visible change first:

  • Change the name to your name (or your alias)

Then check changes:

git diff
+git status

Exercise: step 4 (stage + commit)

git add index.html
 git commit -m "Customize profile page for <your-slug>"

If you added assets:

git add assets/
-git commit -m "Add assets for <your-slug>"

Small commits win. One change = one deposit.

Exercise: step 5 (push your branch)

git push -u origin people/<your-slug>

If prompted for credentials, use your Forgejo login method.

Exercise: step 6 (view live)

Open the gallery:

  • https://braids.<your-domain>/

Find your card:

  • people/<your-slug>/

Iterate:

edit -> status -> add -> commit -> push -> refresh

Common problems (fast fixes)

Wrong branch:

git branch
+git commit -m "Add assets for <your-slug>"

Small commits win. One change = one deposit.

Exercise: step 5 (push your branch)

git push -u origin people/<your-slug>

(Again, change <your-slug>!)

If prompted for credentials, use your Forgejo login method.

Exercise: step 6 (view live)

Open the gallery:

  • https://braids.hackersanddesigners.nl/

Find your card:

  • people/<your-slug>/

Iterate:

edit -> status -> add -> commit -> push -> refresh

Common problems (fast fixes)

Wrong branch:

git branch
 git checkout people/<your-slug>

Nothing staged:

git status
-git add index.html

Push rejected (main protected):

  • You are on main. Switch to your branch.

Auth issues:

  • HTTPS: check username/token/password
  • SSH: check key added to Forgejo + ssh -T

Concept recap in archiving terms

  • commit = deposit (with minimal metadata)
  • log = inventory / chain of custody
  • diff = conservation report (what changed)
  • branch = parallel dossier
  • push = deposit to institutional archive (remote)

Suggested “good enough” commit messages

Bad:

  • "update"
  • "stuff"
  • "changes"

Better:

  • "Add animated gif and profile link"
  • "Change background and typography"
  • "Fix broken image path"
  • "Refactor layout: move link block above gif"

Rule: message should still make sense in 6 months.

Optional extension (if time remains)

  • Compare two branches visually (gallery view)
  • Add a second commit that intentionally breaks something, -then fix it with a third commit
  • Show git log to narrate your work as a documented process

Wrap-up

You should now be able to:

  • create a branch safely
  • record changes as commits
  • publish to a remote
  • read history and differences

Next steps:

  • merging via PRs (review workflow)
  • tags/releases (archival milestones)
  • basic collaboration patterns (feature branches)

End: remind participants their branches will be removed after the workshop.

\ No newline at end of file +git add index.html

Push rejected (main protected):

Auth issues:

Concept recap in archiving terms

Suggested “good enough” commit messages

Bad:

Better:

Rule: message should still make sense in 6 months.

Optional extension (if time remains)

Wrap-up

You should now be able to:

Learn more:

End: remind participants their branches will be removed after the workshop.

\ No newline at end of file diff --git a/slides.rst b/slides.rst index 6a39f48..0c7bc8c 100644 --- a/slides.rst +++ b/slides.rst @@ -170,6 +170,7 @@ Command: git init ================= Create a repository in the current folder. +Use this when you are creating and working on your own projects. .. code-block:: bash @@ -191,7 +192,7 @@ Cloen (copy) a repository in the current folder. .. code-block:: bash - git clone + git clone https://git.hackersanddesigners.nl/hrk/braids Downloads a repo from the web, complete with the full commit history and all changes. @@ -247,24 +248,25 @@ Good commit message pattern: - Why it changed (reason/intent) - Scope stays small ----- +.. + ---- -Command: git diff (what changed) -================================ + Command: git diff (what changed) + ================================ -Unstaged changes: + Unstaged changes: -.. code-block:: bash + .. code-block:: bash - git diff + git diff -Staged changes: + Staged changes: -.. code-block:: bash + .. code-block:: bash - git diff --staged + git diff --staged ----- + ---- Command: git log (inventory) ============================ @@ -352,9 +354,11 @@ Forgejo: what we use today - Forgejo hosts the central repository (remote) - You will: - create an account - - clone via HTTPS/SSH + - clone via HTTPS - push your branch +Share your username with us so we can add you as a collaborator + Rules for today: - do NOT push to `main` @@ -367,11 +371,10 @@ Forgejo: account setup 1. Create account at: `git.hackersanddesigners.nl` 2. Confirm you can sign in -3. Add SSH key (optional) OR use HTTPS credentials We will provide: -- repo URL +- https://git.hackersanddesigners.nl/hrk/braids - branch naming convention - live gallery URL: `braids.hackersanddesigners.nl` @@ -380,11 +383,11 @@ We will provide: Exercise overview ================= -You will build a deliberately simple “MySpace-style” page: +You will build a (deliberately) simple page: - "Hi, I'm …" -- one gif -- one link +- maybe a gif? +- a link? - optional: background, glitter, bad taste encouraged Workflow loop: @@ -396,12 +399,14 @@ clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate Exercise: step 1 (clone) ======================== +`cd` to a logical location in your computer, then: + .. code-block:: bash - git clone - cd + git clone https://git.hackersanddesigners.nl/hrk/braids + cd braids -Sanity check: +If everything went well, check the repo with: .. code-block:: bash @@ -413,7 +418,7 @@ Sanity check: Exercise: step 2 (create your branch) ===================================== -Choose a slug: lowercase, no spaces. Example: `people/alex`. +Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change `people/` in the command below to `people/alex`. .. code-block:: bash @@ -434,9 +439,7 @@ Edit the root `index.html` (and optionally `style.css`, `assets/`). Make a visible change first: -- your name -- one gif -- one link +- Change the name to your name (or your alias) Then check changes: @@ -475,6 +478,8 @@ Exercise: step 5 (push your branch) git push -u origin people/ +(Again, change !) + If prompted for credentials, use your Forgejo login method. ----