diff --git a/html_output/2026-01-15_km.html b/html_output/2026-01-15_km.html index cea8954..afd3e66 100644 --- a/html_output/2026-01-15_km.html +++ b/html_output/2026-01-15_km.html @@ -27,14 +27,14 @@ A commit contains this information:

  1. What changes hav - accepting and keeping both changes - re-editing the files to incorporate both changes

    After merging two branches, a merge commit is created. This is an exceptional commit that has two parent commits instead of one.

    Complex collaborative remote workflow

    1. You clone a repository from a remote host to your local computer.
    2. You create a new branch "my-feature" for your changes.
    3. You make your changes to the repository.
    4. You stage and commit your changes.
    5. You push your commit (and new branch) up to the remote.
    6. You pull other people's commits on this branch from the remote.
    7. Repeat steps 6, 3, 4 and 5
    8. You switch back to "main" and merge "my-feature" into it.
    9. You push your new merge commit up to the "main" branch.

    Use case: you are designing a website for a client and want to show 3 different versions of it with different background colours.

    Use case: tracking and collaborating on a repository with others such as a website project, where two online versions of the website exist, a "safe" one that is available to the public, and an "experimental" one that is reserved for trying new features together.

    Recap

    • repository: a directory initialised with git
    • commit: a checkpoint in the repository timeline(s)
    • checkout: to visit the repository at a specific commit in its history.
    • working tree: your files as they are right now in the repository
    • staging area: a place to add changes to
    • remote: a copy of the repository on a different host
    • clone: to download an identical copy of a repository
    • push: to upload local commits to a remote repository
    • pull: to re-download commits from the remote repository
    • branch: a named series of commits, a detour, a parallel timeline
    • merge: a consolidation of commits from another branch

    Install Git

    Check first:

    git --version

    If missing:

    Minimum requirement: you can run git in a terminal.

    Commands: the essentials

    • git init (initalise a repo)
    • git status (what's happening?)
    • git add (add changes to the commit)
    • git rm (remove a tracked file)
    • git commit (store changes in the repo)
    • git log (see the timeline)
    • git checkout (visit the timeline at a specific checkpoint)
    • git clone (an existing repo)
    • git push (your commits to a remote server)
    • git pull (sync with a repo online and merge)
    • git branch (take a detour)
    • git merge (merge branches)

    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 status (your dashboard)

    git status

    Shows:

    • current branch
    • staged vs unstaged changes
    • untracked files

    Command: git add (select files)

    First, create a file

    nano index.html

    Stage files for the next commit.

    git add index.html

    Stage everything (use carefully):

    git add .

    Staging is curatorial: select what belongs together.

    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.

    Command: git commit (checkpoint)

    git commit -m "Added name to my page"

    Good commit message pattern:

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

    repeat edit > stage > commit a couple times?

    Command: git log (timeline)

    git log --oneline --graph

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

    Command: git checkout (timetravel)

    git checkout your_commit_id

    See your working tree as it would have been at a specific commit on the timeline.

    Forgejo: what we use today

    • Forgejo is an open-source alternative to Github
    • 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 braids/<your-slug>

    Forgejo: account setup

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

    Resources:

    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

    At least one body element must separate transitions; adjacent transitions are not allowed.

    Command: git clone

    Clone (copy) a repository in the current folder. First, cd to a logical location in your computer, then:

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

    That will checkout the repo into a directory /braids, go into this new directory with:

    cd braids

    You have now downloaded a repo from the web, complete with the full commit history and all changes.

    Command: git branch

    Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change braids/<your-slug> in the command below to braids/alex. From here on out replace <your-slug> with your chosen name!

    List branches:

    git branch

    Create a branch:

    git branch braids/<your-slug>

    Switch to branch:

    git checkout braids/<your-slug>

    Shortcut (create + switch):

    git checkout -b braids/<your-slug>

    If everything went well, check the repo with:

    git status
    -git branch

    Branches are parallel dossiers: safe space for changes.

    Edit the page

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

    Make a visible change first:

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

    Then check changes:

    git diff
    -git status

    Stage & commit your changes

    git add index.html
    +git commit -m "Remove old page"

    For this workshop you probably will not need it.

    Command: git commit (checkpoint)

    git commit -m "Added name to my page"

    Good commit message pattern:

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

    repeat edit > stage > commit a couple times?

    Command: git log (timeline)

    git log --oneline --graph

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

    Command: git checkout (timetravel)

    git checkout your_commit_id

    See your working tree as it would have been at a specific commit on the timeline.

    Forgejo: what we use today

    • Forgejo is an open-source alternative to Github
    • 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 braids/<your-slug>

    Forgejo: account setup

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

    Resources:

    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

    Command: git clone

    Clone (copy) a repository in the current folder. First, cd to a logical location in your computer, then:

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

    That will checkout the repo into a directory /braids, go into this new directory with:

    cd braids

    You have now downloaded a repo from the web, complete with the full commit history and all changes.

    Command: git branch

    Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change braids/<your-slug> in the command below to braids/alex. From here on out replace <your-slug> with your chosen name!

    List branches:

    git branch

    Create a branch:

    git branch braids/<your-slug>

    Switch to branch:

    git checkout braids/<your-slug>

    Shortcut (create + switch):

    git checkout -b braids/<your-slug>

    If everything went well, check the repo with:

    git status
    +git branch

    Branches are parallel dossiers: safe space for changes.

    Edit the page

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

    Make a visible change first:

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

    Then check changes:

    git diff
    +git status

    Stage & commit your changes

    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.

    Push your banch

    Push your commits to the server, defining a remote branch to track. This is called setting the upstream.

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

    (Again, change <your-slug>!)

    The first time you checkout from https://git.hackersanddesigners.nl the server will ask you for credentials. These will be remembered, so only once. -This pushes your branch to the 'origin' server.

    From then on, unless the remote/branch is named, git push will go in that direction.

    git push

    disabled push rights for now, only for demonstration purposes, will fail

    View ive!

    Open the gallery:

    Find your card:

    • braids/<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.

    Push your banch

    Push your commits to the server, defining a remote branch to track. This is called setting the upstream.

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

    (Again, change <your-slug>!)

    The first time you checkout from https://git.hackersanddesigners.nl the server will ask you for credentials. These will be remembered, so only once. +This pushes your branch to the 'origin' server.

    From then on, unless the remote/branch is named, git push will go in that direction.

    git push

    disabled push rights for now, only for demonstration purposes, will fail

    View ive!

    Open the gallery:

    Find your card:

    • braids/<your-slug>/

    Iterate:

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

    Common problems (fast fixes)

    Wrong branch:

    git branch
     git checkout braids/<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

    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: git pull

    Title underline too short.

    Optional: git pull
    +git add index.html

    Push rejected (main protected):

    • You are on main. Switch to your branch.

    Auth issues:

    • HTTPS: check username/password

    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: git pull

    Title underline too short.

    Optional: git pull
     =================

    If you want to collaborate with others on the same branch, 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).

    fact: git pull is actually a git fetch && git merge

    Optional: git merge

    First, go ahead and git fetch --all branches from the remote git repository, so you have them locally.

    Then git branch to see the available branches.

    Check some of them out with git checkout braids/<branch_name>.

    See something you like? Merge with them.

    git checkout braids/<your-slug>
    -git merge braids/<chosen_branch>

    Consolidate any merge conflicts manually if you have to. Then, stage, commit and push your changes to your branch.

    Optional extension (if time remains)

    • Compare two branches visually (gallery view)
    • Show git log to narrate your work as a documented process

    Wrap-up

    Learn more:

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

    \ No newline at end of file +Pull is mainly for getting new changes on main (if needed).

    fact: git pull is actually a git fetch && git merge

    Optional: git merge

    First, go ahead and git fetch --all branches from the remote git repository, so you have them locally.

    Then git branch to see the available branches.

    Check some of them out with git checkout braids/<branch_name>.

    See something you like? Merge with them.

    git checkout braids/<your-slug>
    +git merge braids/<chosen_branch>

    Consolidate any merge conflicts manually if you have to. Then, stage, commit and push your changes to your branch.

    Optional extension (if time remains)

    • Compare two branches visually (gallery view)
    • Show git log to narrate your work as a documented process

    Wrap-up

    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 cea8954..afd3e66 100644 --- a/html_output/index.html +++ b/html_output/index.html @@ -27,14 +27,14 @@ A commit contains this information:

    1. What changes hav - accepting and keeping both changes - re-editing the files to incorporate both changes

      After merging two branches, a merge commit is created. This is an exceptional commit that has two parent commits instead of one.

      Complex collaborative remote workflow

      1. You clone a repository from a remote host to your local computer.
      2. You create a new branch "my-feature" for your changes.
      3. You make your changes to the repository.
      4. You stage and commit your changes.
      5. You push your commit (and new branch) up to the remote.
      6. You pull other people's commits on this branch from the remote.
      7. Repeat steps 6, 3, 4 and 5
      8. You switch back to "main" and merge "my-feature" into it.
      9. You push your new merge commit up to the "main" branch.

      Use case: you are designing a website for a client and want to show 3 different versions of it with different background colours.

      Use case: tracking and collaborating on a repository with others such as a website project, where two online versions of the website exist, a "safe" one that is available to the public, and an "experimental" one that is reserved for trying new features together.

      Recap

      • repository: a directory initialised with git
      • commit: a checkpoint in the repository timeline(s)
      • checkout: to visit the repository at a specific commit in its history.
      • working tree: your files as they are right now in the repository
      • staging area: a place to add changes to
      • remote: a copy of the repository on a different host
      • clone: to download an identical copy of a repository
      • push: to upload local commits to a remote repository
      • pull: to re-download commits from the remote repository
      • branch: a named series of commits, a detour, a parallel timeline
      • merge: a consolidation of commits from another branch

      Install Git

      Check first:

      git --version

      If missing:

      Minimum requirement: you can run git in a terminal.

      Commands: the essentials

      • git init (initalise a repo)
      • git status (what's happening?)
      • git add (add changes to the commit)
      • git rm (remove a tracked file)
      • git commit (store changes in the repo)
      • git log (see the timeline)
      • git checkout (visit the timeline at a specific checkpoint)
      • git clone (an existing repo)
      • git push (your commits to a remote server)
      • git pull (sync with a repo online and merge)
      • git branch (take a detour)
      • git merge (merge branches)

      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 status (your dashboard)

      git status

      Shows:

      • current branch
      • staged vs unstaged changes
      • untracked files

      Command: git add (select files)

      First, create a file

      nano index.html

      Stage files for the next commit.

      git add index.html

      Stage everything (use carefully):

      git add .

      Staging is curatorial: select what belongs together.

      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.

      Command: git commit (checkpoint)

      git commit -m "Added name to my page"

      Good commit message pattern:

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

      repeat edit > stage > commit a couple times?

      Command: git log (timeline)

      git log --oneline --graph

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

      Command: git checkout (timetravel)

      git checkout your_commit_id

      See your working tree as it would have been at a specific commit on the timeline.

      Forgejo: what we use today

      • Forgejo is an open-source alternative to Github
      • 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 braids/<your-slug>

      Forgejo: account setup

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

      Resources:

      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

      At least one body element must separate transitions; adjacent transitions are not allowed.

      Command: git clone

      Clone (copy) a repository in the current folder. First, cd to a logical location in your computer, then:

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

      That will checkout the repo into a directory /braids, go into this new directory with:

      cd braids

      You have now downloaded a repo from the web, complete with the full commit history and all changes.

      Command: git branch

      Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change braids/<your-slug> in the command below to braids/alex. From here on out replace <your-slug> with your chosen name!

      List branches:

      git branch

      Create a branch:

      git branch braids/<your-slug>

      Switch to branch:

      git checkout braids/<your-slug>

      Shortcut (create + switch):

      git checkout -b braids/<your-slug>

      If everything went well, check the repo with:

      git status
      -git branch

      Branches are parallel dossiers: safe space for changes.

      Edit the page

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

      Make a visible change first:

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

      Then check changes:

      git diff
      -git status

      Stage & commit your changes

      git add index.html
      +git commit -m "Remove old page"

      For this workshop you probably will not need it.

      Command: git commit (checkpoint)

      git commit -m "Added name to my page"

      Good commit message pattern:

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

      repeat edit > stage > commit a couple times?

      Command: git log (timeline)

      git log --oneline --graph

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

      Command: git checkout (timetravel)

      git checkout your_commit_id

      See your working tree as it would have been at a specific commit on the timeline.

      Forgejo: what we use today

      • Forgejo is an open-source alternative to Github
      • 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 braids/<your-slug>

      Forgejo: account setup

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

      Resources:

      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

      Command: git clone

      Clone (copy) a repository in the current folder. First, cd to a logical location in your computer, then:

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

      That will checkout the repo into a directory /braids, go into this new directory with:

      cd braids

      You have now downloaded a repo from the web, complete with the full commit history and all changes.

      Command: git branch

      Choose a slug: lowercase, no spaces. This can be your name or an alias. Example: change braids/<your-slug> in the command below to braids/alex. From here on out replace <your-slug> with your chosen name!

      List branches:

      git branch

      Create a branch:

      git branch braids/<your-slug>

      Switch to branch:

      git checkout braids/<your-slug>

      Shortcut (create + switch):

      git checkout -b braids/<your-slug>

      If everything went well, check the repo with:

      git status
      +git branch

      Branches are parallel dossiers: safe space for changes.

      Edit the page

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

      Make a visible change first:

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

      Then check changes:

      git diff
      +git status

      Stage & commit your changes

      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.

      Push your banch

      Push your commits to the server, defining a remote branch to track. This is called setting the upstream.

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

      (Again, change <your-slug>!)

      The first time you checkout from https://git.hackersanddesigners.nl the server will ask you for credentials. These will be remembered, so only once. -This pushes your branch to the 'origin' server.

      From then on, unless the remote/branch is named, git push will go in that direction.

      git push

      disabled push rights for now, only for demonstration purposes, will fail

      View ive!

      Open the gallery:

      Find your card:

      • braids/<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.

      Push your banch

      Push your commits to the server, defining a remote branch to track. This is called setting the upstream.

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

      (Again, change <your-slug>!)

      The first time you checkout from https://git.hackersanddesigners.nl the server will ask you for credentials. These will be remembered, so only once. +This pushes your branch to the 'origin' server.

      From then on, unless the remote/branch is named, git push will go in that direction.

      git push

      disabled push rights for now, only for demonstration purposes, will fail

      View ive!

      Open the gallery:

      Find your card:

      • braids/<your-slug>/

      Iterate:

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

      Common problems (fast fixes)

      Wrong branch:

      git branch
       git checkout braids/<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

      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: git pull

      Title underline too short.

      Optional: git pull
      +git add index.html

      Push rejected (main protected):

      • You are on main. Switch to your branch.

      Auth issues:

      • HTTPS: check username/password

      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: git pull

      Title underline too short.

      Optional: git pull
       =================

      If you want to collaborate with others on the same branch, 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).

      fact: git pull is actually a git fetch && git merge

      Optional: git merge

      First, go ahead and git fetch --all branches from the remote git repository, so you have them locally.

      Then git branch to see the available branches.

      Check some of them out with git checkout braids/<branch_name>.

      See something you like? Merge with them.

      git checkout braids/<your-slug>
      -git merge braids/<chosen_branch>

      Consolidate any merge conflicts manually if you have to. Then, stage, commit and push your changes to your branch.

      Optional extension (if time remains)

      • Compare two branches visually (gallery view)
      • Show git log to narrate your work as a documented process

      Wrap-up

      Learn more:

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

      \ No newline at end of file +Pull is mainly for getting new changes on main (if needed).

      fact: git pull is actually a git fetch && git merge

      Optional: git merge

      First, go ahead and git fetch --all branches from the remote git repository, so you have them locally.

      Then git branch to see the available branches.

      Check some of them out with git checkout braids/<branch_name>.

      See something you like? Merge with them.

      git checkout braids/<your-slug>
      +git merge braids/<chosen_branch>

      Consolidate any merge conflicts manually if you have to. Then, stage, commit and push your changes to your branch.

      Optional extension (if time remains)

      • Compare two branches visually (gallery view)
      • Show git log to narrate your work as a documented process

      Wrap-up

      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 c5096da..274237c 100644 --- a/slides.rst +++ b/slides.rst @@ -594,8 +594,6 @@ Workflow loop: clone -> branch -> edit -> status -> add -> commit -> push -> view -> iterate ----- - ----