diff --git a/slides/compsoc/2025-2025/intro_to_git.md b/slides/compsoc/2025-2025/intro_to_git.md new file mode 100644 index 0000000..eb3ec21 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git.md @@ -0,0 +1,244 @@ +--- +title: "Intro to git" +sub_title: "git push -f origin main" +author: "Prabuddha Hans" +date: "2025-09-22" + +theme: + name: catppuccin-latte +--- + +Git +================================= + + + +* 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. + + + +Sold Separately +================================= + + +Programmer socks (not) included. + +![image:width:100%](intro_to_git/compsocks.png) + + + +Why Git +================================= + + + + +* 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. + + + +No. +================================= + + +![image:width:100%](intro_to_git/NAH.jpg) + + + +WHY don't we use SVN +================================= + + + + +* 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 + + + +How to download Git & Git LFS +================================= + + + +## Download +<> + + + + +![image:width:100%](intro_to_git/git_download_button.png) + + + + +![image:width:100%](intro_to_git/git_installer.png) + + + + +![image:width:100%](intro_to_git/git_installer_notepad_as_default_editor.png) + + + + +![image:width:100%](intro_to_git/git_installer_rename_master_to_main.png) + + + + +![image:width:100%](intro_to_git/git_installer_checkout_unix.png) + + + + +![image:width:100%](intro_to_git/git_installer_default_rebase_pull.png) + + + + + + + + +Don't do these types of commit messages +================================= + + +![image:width:100%](intro_to_git/bad_message.png) + + + + +![image:width:100%](intro_to_git/forgejo_template_button.png) + + + +![image:width:100%](intro_to_git/forgejo_template_repo_creation.png) + + + + +![image:width:100%](intro_to_git/forgejo_repo_link.png) + + + + +LFS Install +================================= + + + + +Same deal as before, just download and install. +It'll ask to be ran as Administrator, say yes. + + +Setup SSH key (see Readme.md) +================================= + + +![image:width:100%](intro_to_git/forgejo_repo_settings.png) + + + + +![image:width:100%](intro_to_git/forgejo_secrets_location.png) + + + + +![image:width:100%](intro_to_git/forgejo_add_secret.png) + + + + +![image:width:100%](intro_to_git/forgejo_ssh_key_example.png) + + + + +```bash +git init +git remote add origin +git pull origin +git add +git commit -m "" +git push origin +``` + + + + +``https://.users.skynet.ie/`` + + + +TroubleShooting +================================= + + + +If you see this: +================================= + + +![image:width:100%](intro_to_git/permission_denied_publickey.jpg) + +> Credit: Geeks for Geeks + + + +Go here +================================= + + + + + diff --git a/slides/compsoc/2025-2025/intro_to_git/NAH.jpg b/slides/compsoc/2025-2025/intro_to_git/NAH.jpg new file mode 100644 index 0000000..46a5931 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/NAH.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b93ccc50179e98170010e340bc6f44382e993e78fe6f46d06912da25acd4c43 +size 18232 diff --git a/slides/compsoc/2025-2025/intro_to_git/bad_message.png b/slides/compsoc/2025-2025/intro_to_git/bad_message.png new file mode 100644 index 0000000..8d1b2a0 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/bad_message.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10627c4c15cac9718378ba7cc16b20b74a571a21e1c1658de8fe82bf71a7e8 +size 143553 diff --git a/slides/compsoc/2025-2025/intro_to_git/compsocks.png b/slides/compsoc/2025-2025/intro_to_git/compsocks.png new file mode 100644 index 0000000..ea19868 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/compsocks.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5036242eb90cfc6ed14ce104354c3dfd0838293c11bed525adf413b6c6138b6d +size 79001 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_add_secret.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_add_secret.png new file mode 100644 index 0000000..90192ff --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_add_secret.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11098766d2846bd3f96e4ca4fd0bde143de0e729aada9bfd2edbebcecb142ae6 +size 2832 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_link.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_link.png new file mode 100644 index 0000000..ec7092c --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_link.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3660f02d595cbeb89b0065a332142ce842e45278dc294a8e25f411b557c1c4da +size 8120 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_settings.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_settings.png new file mode 100644 index 0000000..3546f1e --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_repo_settings.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f18da7c01ac92591cf959576833ca9ed497d6eb1b97bd964f36f435d76e3281 +size 5165 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_secrets_location.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_secrets_location.png new file mode 100644 index 0000000..51f7b8a --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_secrets_location.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9341c7c436972b714a18660fdfac823e0c316f6b70dc4f49b1f76227b278e9b3 +size 10243 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_ssh_key_example.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_ssh_key_example.png new file mode 100644 index 0000000..5337da1 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_ssh_key_example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e31c9482b2fd2c91bb8511d02259d8b93b867697b5c6fdf86a93871ffd79caf +size 20991 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_template_button.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_template_button.png new file mode 100644 index 0000000..0976615 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_template_button.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbfcc005d311e1e84b5a7ecbd8572f0384db6618041e89f3caa6457e5670fd6d +size 50537 diff --git a/slides/compsoc/2025-2025/intro_to_git/forgejo_template_repo_creation.png b/slides/compsoc/2025-2025/intro_to_git/forgejo_template_repo_creation.png new file mode 100644 index 0000000..87429a0 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/forgejo_template_repo_creation.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47dae1990bfd43afb40bbf08fa06fc7f3ac361c8dbb705c8f2ebd0668fb03fae +size 36306 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_download_button.png b/slides/compsoc/2025-2025/intro_to_git/git_download_button.png new file mode 100644 index 0000000..c42e917 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_download_button.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f129a2c0ffaab3d3347a613d7c6b081801b8fcf35f74c6e18e2a776389bc8020 +size 66338 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_installer.png b/slides/compsoc/2025-2025/intro_to_git/git_installer.png new file mode 100644 index 0000000..075d1fb --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_installer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cac6c961d163603314e590d2ac21012e54d0297d6a5c680a1278dd3fe9f3a83d +size 21709 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_installer_checkout_unix.png b/slides/compsoc/2025-2025/intro_to_git/git_installer_checkout_unix.png new file mode 100644 index 0000000..a800f3b --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_installer_checkout_unix.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a29a7010fe4f61daf8f11ccdab87f1866d00d1f9fb403e4e4879e17b8a60882 +size 24415 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_installer_default_rebase_pull.png b/slides/compsoc/2025-2025/intro_to_git/git_installer_default_rebase_pull.png new file mode 100644 index 0000000..f33babb --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_installer_default_rebase_pull.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f7ec846689414760e50d83c027cf0ca3d8d0b6bde7e6ed44e8bfb95d3e23999 +size 17633 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_installer_notepad_as_default_editor.png b/slides/compsoc/2025-2025/intro_to_git/git_installer_notepad_as_default_editor.png new file mode 100644 index 0000000..1b6a50f --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_installer_notepad_as_default_editor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ede2529a17922022246252dd9d7e93c8295a15ad53f92add4202037f2cc75ea4 +size 12213 diff --git a/slides/compsoc/2025-2025/intro_to_git/git_installer_rename_master_to_main.png b/slides/compsoc/2025-2025/intro_to_git/git_installer_rename_master_to_main.png new file mode 100644 index 0000000..7072736 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/git_installer_rename_master_to_main.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25da12821d1dca87684b38ed88a5e731386bcd5de0a650994f29339136af6aec +size 20301 diff --git a/slides/compsoc/2025-2025/intro_to_git/permission_denied_publickey.jpg b/slides/compsoc/2025-2025/intro_to_git/permission_denied_publickey.jpg new file mode 100644 index 0000000..3223705 --- /dev/null +++ b/slides/compsoc/2025-2025/intro_to_git/permission_denied_publickey.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31aefed484217d5536232437904573768e62e53693f611d7ee68c450559692e0 +size 23819