presentations_compsoc/src/slides/compsoc/3_git.md
Prabuddha Hans 4af037f195
All checks were successful
On_Push / build (push) Successful in 9s
On_Push / deploy (push) Successful in 12s
Fix: Refactored image links for presentation
2024-09-29 10:35:50 +01:00

7.6 KiB

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ title = "Git" date = 2024-09-18 slides = true +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Git


The 4 Ws of Git


WHAT is Git?


WHO is Git made for?


WHY is Git used?


WHEN is Git used?


Last but not least, HOW do we use Git?


Let's start with the WHAT


Git is tool that's used in the programming Industry.


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.


Now we move onto the WHO.


Git is a tool made for (usually) us programmers to track the work we've done.


Programmer socks (not) included.


Now we need to ask the 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 (we'll return to this) of our work.


Now finally the WHEN.


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.


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.


NAH


An actual answer is that Git is Distributed, and SVN in centralized.


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 laptop out


How to download git & git LFS


Download

<https://git-scm.com/downloads>


img.png


img_1.png


img_2.png


img_3.png


img_4.png


img_5.png


<https://forgejo.skynet.ie/Skynet/deploy_user>


Don't do this BAD


img_6.png


img_7.png


img_8.png


Setup SSH key (see Readme.md))


img_9.png


img_10.png


img_12.png


img_11.png


git init
git remote add origin <repo_url>
git pull origin <branch_name>
git add <file_name>
git commit -m "<commit_message>"
git push origin <branch_name>

https://<username>.users.skynet.ie/