+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 come back 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. ------------------------------------------------------------------------- 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 ------------------------------------------------------------------------- # DO NOT DO THIS ![BAD](3_git/bad_message.png) ------------------------------------------------------------------------- # PLEASE DO THIS ````git pull ```` -------------------------------------------------------------------------