<style> .reveal { font-size: 20px; } .reveal div.para { text-align: left; } .reveal ul { display: block; } .reveal ol { display: block; } img[alt=drawing] { width: 200px; } </style> # INFS2605 ## 2.1 Git Introduction --- # What is Git? * Working on software as a group * Group projects * Industry * Why not just use... * E-mail? * Slack? * Facebook? * But then what about... * Google Docs? --- # DVCS and Git * Distributed version control system * Git is one type of DVCS (the same way that Safari, Firefox and Chrome are types of web browsers) * It allows you to: * work on code at the same time and (relatively) seamlessly join it together * see who did what and when * retrieve previously deleted code * Other advantages: * Only keeeps track of changes, so you don't have to copy the whole project each time (faster and takes up less computer space) * Keeps track of different versions of your project easily --- # Git as a Submission Tool * Submit some tutorial work * Work on your group assignment together, and submit it --- # Tools and Software ## Including Download Links * GitHub: Online * GitHub Classroom * To use it on your machine with an easier user interface: * My personal preference: [Sourcetree](https://www.sourcetreeapp.com/) * An alternative: [GitHub Desktop](https://desktop.github.com/) * Another alternative (Liz's preference): [Kraken](https://www.gitkraken.com/) --- # Resources * [Oh My Git](https://ohmygit.org/): A game which helps you learn how to use Git. * [Learn Git Branching](https://learngitbranching.js.org/): Although we don't teach Git branching right now, you may find it useful, and in this way it's fun to learn. It will also re-inforce your understanding of the fundamental Git commands which we *will* be using. * Google "learn how to use Git" to find more for yourself. * [Official Documentation](https://github.com/git-guides/) --- # Getting Started with Git * Clone a repo * Make changes * Terminology: * clone * pull * add * commit * push * Demo simple changes that can be resolved automatically * Demo complex changes which require manual merging --- # Markdown * "Markup" language * Used in files with the extension .md * Used to make otherwise text files have formatting such as headings, bold text, tables. * Allows our formatting to be changed and passed through Git the same way as our code does. (Whereas Microsoft Word or Google Docs would not allow this.) * Super simple to learn. * Resources: * [Lots of information and background knowledge](https://www.markdownguide.org/getting-started/) * [Only what I need to know (Basic Syntax)](https://www.markdownguide.org/basic-syntax/) --- ## Markdown Demonstration * Change the README.md file in our repository. --- # Other Uses for Markdown * Want to see the markdown for my lecture slides? * They can be found [here](https://hackmd.io/Q2rLtiUhSLus2LCaHaU2Fw). --- # Starter Kit * Used for this week's tutorial work. * Located [here](https://classroom.github.com/a/p0Q5pkoQ) ---
{"metaMigratedAt":"2023-06-16T19:32:12.093Z","metaMigratedFrom":"YAML","title":"2.1 - Git","breaks":true,"slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"969c3c3d-0ef4-4f08-b22a-2f2b8951224b\",\"add\":3288,\"del\":102}]"}
    253 views