diff --git a/slides/compsoc/2025-2025/intro_to_git.md b/slides/compsoc/2025-2025/intro_to_git.md index a1d6c20..47c2fad 100644 --- a/slides/compsoc/2025-2025/intro_to_git.md +++ b/slides/compsoc/2025-2025/intro_to_git.md @@ -8,50 +8,19 @@ theme: name: catppuccin-latte --- -# Git - +Git ================================= -Git is tool that's used in the programming industry. + + +* 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. - - -================================= - -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. - - - - ================================= Programmer socks (not) included. @@ -61,140 +30,42 @@ Programmer socks (not) included. +Why Git ================================= -Now we need to ask WHY. + +* 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. + + +Code Storage +================================= + + + +* 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. -================================= - -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. - - - - -================================= - -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 in the audience asking... - - - - -================================= - -Why not use SVN? - - - - -================================= - -The answer is simple. - - - - +No. ================================= ![image:width:100%](intro_to_git/NAH.jpg) @@ -202,78 +73,39 @@ The answer is simple. +WHY don't we use SVN ================================= -An actual answer is that Git is Distributed, and SVN in centralized. + + +* 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. + + + + +Live demonstration time +================================= + +* Please get your laptops out ================================= -Simply put, devs can store their changes locally on their machines, + -================================= - -where 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. - - - - -================================= - -# Live demonstration time - -Please get your laptops out - - - - -================================= - How to download Git & Git LFS - - - - ================================= ## Download @@ -331,8 +163,9 @@ How to download Git & Git LFS +Don't do these types of commit messages ================================= -Don't do this + ![image:width:100%](intro_to_git/bad_message.png) @@ -375,10 +208,9 @@ git lfs install +Setup SSH key (see Readme.md) ================================= -Setup SSH key (see Readme.md)) - @@ -431,16 +263,15 @@ git push origin +TroubleShooting ================================= -TroubleShooting -================================= - If you see this: +================================= ![image:width:100%](intro_to_git/permission_denied_publickey.jpg) @@ -449,9 +280,10 @@ If you see this: +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