diff --git a/src/slides/compsoc/3_git.md b/src/slides/compsoc/3_git.md new file mode 100644 index 0000000..32e3281 --- /dev/null +++ b/src/slides/compsoc/3_git.md @@ -0,0 +1,218 @@ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +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](3_git/NAH.jpg) + +------------------------------------------------------------------------- + +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 + +------------------------------------------------------------------------- + +Don't do this +![BAD](3_git/bad_message.png) +------------------------------------------------------------------------- + +Please do this +````git pull ```` + +------------------------------------------------------------------------- + +````git init```` + +------------------------------------------------------------------------- + +````git remote add origin ```` + +------------------------------------------------------------------------- + +````git add ```` + +------------------------------------------------------------------------- + +````git commit -m ```` + +------------------------------------------------------------------------- + +````git pull origin ```` + +------------------------------------------------------------------------- + +````git push origin ```` + +------------------------------------------------------------------------- diff --git a/src/slides/compsoc/3_git/NAH.jpg b/src/slides/compsoc/3_git/NAH.jpg new file mode 100644 index 0000000..46a5931 --- /dev/null +++ b/src/slides/compsoc/3_git/NAH.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b93ccc50179e98170010e340bc6f44382e993e78fe6f46d06912da25acd4c43 +size 18232 diff --git a/src/slides/compsoc/3_git/bad_message.png b/src/slides/compsoc/3_git/bad_message.png new file mode 100644 index 0000000..8d1b2a0 --- /dev/null +++ b/src/slides/compsoc/3_git/bad_message.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10627c4c15cac9718378ba7cc16b20b74a571a21e1c1658de8fe82bf71a7e8 +size 143553