WIP: Fixing up slides 1

Need to figure out how to do the images in a good way.
This commit is contained in:
Prabuddha Hans 2025-09-22 22:54:54 +01:00
parent a32b3f58b3
commit c1772650cb

View file

@ -8,50 +8,19 @@ theme:
name: catppuccin-latte name: catppuccin-latte
--- ---
# Git Git
================================= =================================
Git is tool that's used in the programming industry. <!-- incremental_lists: true -->
* Git is tool that's used in the programming industry.
* Another name for Git is a Version Control System (VCS) tool.
* Specifically to track project work done, and the changes to files we've made.
* The more correct term is Source Control.
* It is NOT a programming language.
* Git is a tool made for (usually) us programmers to track the work we've done.
<!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
=================================
Another name for Git is a Version Control System (VCS) tool.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Specifically to track project work done, and the changes to files we've made.
<!-- alignment: center -->
<!-- end_slide -->
=================================
The more correct term is Source Control.
<!-- alignment: center -->
<!-- end_slide -->
=================================
It is NOT a programming language.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Git is a tool made for (usually) us programmers to track the work we've done.
<!-- alignment: center -->
<!-- end_slide -->
================================= =================================
Programmer socks (not) included. Programmer socks (not) included.
@ -61,140 +30,42 @@ Programmer socks (not) included.
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
Why Git
================================= =================================
Now we need to ask WHY. <!-- incremental_lists: true -->
* Now we need to ask WHY.
* Why would we need a tool like this?
* Why not use Google Drive instead?
* I will find your IP address.
* In all honesty,
* It's to help keep track of who did what.
* And to work on unique features...
* without affecting the main area/branch of our work.
* When DO we use git?
* Because Git keeps track of the changes we've made to files,
* We can then use it to commit and stage these files,
* and push them to a place where we can store them.
<!-- end_slide -->
Code Storage
=================================
<!-- incremental_lists: true -->
* This place is called a Repository.
* Repositories are hosted on websites like GitLab, GitHub and Forgejo.
* But, an interesting feature of git, is that it allows you to time-travel.
* Meaning that if a project breaks, you can go back to before it broke.
* Now I hear you nerds in the audience asking...
* Why not use SVN?
* The answer is simple.
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
================================= No.
Why would we need a tool like this?
<!-- alignment: center -->
<!-- end_slide -->
=================================
Why not use Google Drive instead?
<!-- alignment: center -->
<!-- end_slide -->
=================================
I will find your IP address.
<!-- alignment: center -->
<!-- end_slide -->
=================================
In all honesty,
<!-- alignment: center -->
<!-- end_slide -->
=================================
It's to help keep track of who did what.
<!-- alignment: center -->
<!-- end_slide -->
=================================
And to work on unique features...
<!-- alignment: center -->
<!-- end_slide -->
=================================
without affecting the main area/branch of our work.
<!-- alignment: center -->
<!-- end_slide -->
=================================
When DO we use git?
<!-- alignment: center -->
<!-- end_slide -->
=================================
Because Git keeps track of the changes we've made to files,
<!-- alignment: center -->
<!-- end_slide -->
=================================
We can then use it to commit and stage these files,
<!-- alignment: center -->
<!-- end_slide -->
=================================
and push them to a place where we can store them.
<!-- alignment: center -->
<!-- end_slide -->
=================================
This place is called a Repository.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Repositories are hosted on websites like GitLab, GitHub and Forgejo.
<!-- alignment: center -->
<!-- end_slide -->
=================================
But, an interesting feature of git, is that it allows you to time-travel.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Meaning that if a project breaks, you can go back to before it broke.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Now I hear you in the audience asking...
<!-- alignment: center -->
<!-- end_slide -->
=================================
Why not use SVN?
<!-- alignment: center -->
<!-- end_slide -->
=================================
The answer is simple.
<!-- alignment: center -->
<!-- end_slide -->
================================= =================================
![image:width:100%](intro_to_git/NAH.jpg) ![image:width:100%](intro_to_git/NAH.jpg)
@ -202,78 +73,39 @@ The answer is simple.
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
WHY don't we use SVN
================================= =================================
An actual answer is that Git is Distributed, and SVN in centralized. <!-- incremental_lists: true -->
* An actual answer is that Git is Distributed, and SVN in centralized.
* Simply put, devs can store their changes locally on their machines.
* Whereas on SVN they're stored on a central system.
* With a central system you NEED to be connected at all times to work on it.
* You can work locally on git without having to be connected,
* and then push once you're reconnected.
* Back to git.
* Let's start with the basics.
<!-- alignment: center -->
<!-- end_slide -->
Live demonstration time
=================================
* Please get your laptops out
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
================================= =================================
Simply put, devs can store their changes locally on their machines,
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
=================================
where on SVN they're stored on a central system.
<!-- alignment: center -->
<!-- end_slide -->
=================================
With a central system you NEED to be connected at all times to work on it.
<!-- alignment: center -->
<!-- end_slide -->
=================================
You can work locally on git without having to be connected,
<!-- alignment: center -->
<!-- end_slide -->
=================================
and then push once you're reconnected.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Back to git.
<!-- alignment: center -->
<!-- end_slide -->
=================================
Let's start with the basics.
<!-- alignment: center -->
<!-- end_slide -->
=================================
# Live demonstration time
Please get your laptops out
<!-- alignment: center -->
<!-- end_slide -->
=================================
How to download Git & Git LFS How to download Git & Git LFS
<!-- alignment: center -->
<!-- end_slide -->
================================= =================================
## Download ## Download
@ -331,8 +163,9 @@ How to download Git & Git LFS
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
Don't do these types of commit messages
================================= =================================
Don't do this
![image:width:100%](intro_to_git/bad_message.png) ![image:width:100%](intro_to_git/bad_message.png)
<!-- alignment: center --> <!-- alignment: center -->
@ -375,10 +208,9 @@ git lfs install
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
Setup SSH key (see Readme.md)
================================= =================================
Setup SSH key (see Readme.md))
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
@ -431,16 +263,15 @@ git push origin <branch_name>
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
TroubleShooting
================================= =================================
TroubleShooting
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
=================================
If you see this: If you see this:
=================================
![image:width:100%](intro_to_git/permission_denied_publickey.jpg) ![image:width:100%](intro_to_git/permission_denied_publickey.jpg)
@ -449,9 +280,10 @@ If you see this:
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->
Go here
================================= =================================
Go here: https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
<!-- alignment: center --> <!-- alignment: center -->
<!-- end_slide --> <!-- end_slide -->