VS Code also has very useful graphical tools for Git (more about them later!)
@@ -188,10 +223,10 @@
-
-
Btw: Config
+
+
Note: Config
-
To configure your Git username for every project:
+
After installation, you may configure your Git username for every project:
Use git config --global user.name "myUserName"
and git config --global user.email "my.email.address@domain.com"
diff --git a/0-git-setup.md b/0-git-setup.md
index 61bc2df..a17f541 100644
--- a/0-git-setup.md
+++ b/0-git-setup.md
@@ -24,32 +24,65 @@ theme: buutti
## What is Git?
-* Git is a version control tool originally created by Linus Torvalds in 2005
+* Git is a ***version control*** tool originally created by Linus Torvalds in 2005
* Keeps track of code changes
* Can be used to backup code in the cloud
* Enables cooperation with other team members
* Ubiquitous in software development
+### Why version control?
+
+* Without version control, only one version of your code exists
+ * *What happens when you realize you made a mistake and need to roll back changes you've made?*
+* You could use manual backups, or a cloud storage service
+ * *What happens if two people connect to a cloud service and edit the same file?*
+ * Or maybe not even the same file... *What happens when you and your teammate have made changes to code and you need to combine your work into a single, working version?*
+* Version control handles all the problems above, and you can focus on the important part: programming!
+ * You can even try out some big changes that break your software completely
+ * If that doesn't work out, just roll back into the last working version!
+
+
### Git vs cloud storage
* Git is different from cloud storage services like Dropbox, Google Drive or OneDrive
* Instead of automatic syncing, you deliberately *push to* and *pull from* the cloud
- * Cloud services are easier for starters
+ * Cloud services are easier for beginners
* ...but in projects of more than one person, tracking changes would be a pain
-* Git has a steep learning curve
- * To ease things, there are some visual tools like **Sourcetree** or **Sublime Merge**
- * To use them effectively, you still need to understand how Git works, though
+* Git is used via the ***terminal*** and has a steep learning curve
+ * There are some visual tools like **Sourcetree** or **Sublime Merge**
+ * To use them effectively, though, *you must still understand how Git works*
-## GitHub and other developer platforms
+## Remote storage services
+
+
+
* Git *could* be used locally, but its usage is almost always combined with a developer platform — a remote storage service like [GitHub](https://github.com/), [GitLab](https://gitlab.com/) or [BitBucket](https://bitbucket.com/)
- * These services can also double as a programming portfolio
+ * These services can also double as a programming portfolio that can help getting hired into the industry
* Commonly used in both open source and commercial projects
-* In Buutti's trainings, GitLab is most commonly used
+* In Buutti's trainings, ***GitLab*** is most commonly used
+
+
+
## Setup
-* Install Git
+
+
+
+* Installing Git:
* Windows/Mac: [git-scm.com](https://git-scm.com)
* Installation instructions are included in the following slides.
* If a setting is not mentioned in the instructions, you can leave it as the default option.
@@ -67,7 +100,7 @@ theme: buutti

-Set manually after setup with:
+To set manually after setup, use:
```
git config --global core.editor "code --wait"
```
@@ -82,7 +115,7 @@ git config --global core.editor "code --wait"

-Set manually after setup with:
+To set manually after setup, use:
```
git config --global init.defaultBranch main
```
@@ -117,7 +150,7 @@ Set manually after setup with:

-Set manually after setup with:
+To set manually after setup, use:
```
git config --global credential.helper wincred
@@ -137,8 +170,8 @@ git config --global credential.helper wincred
* There are many kinds of command line syntaxes out there. Some examples:
* Windows: ***PowerShell*** (new), ***cmd*** (old)
* Linux, (also included in the Windows Git install): ***bash***
-* We're using PowerShell, which can be accessed inside VS Code
-* In VS Code, open/close terminal by pressing ***CTRL+Ö*** (in the Fin/Swe layout)
+* We're using PowerShell, which can be accessed inside [VS Code](https://code.visualstudio.com/docs/languages/powershell) or [Visual Studio](https://learn.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022)
+ * In VS Code, open/close terminal by pressing ***CTRL+Ö*** (in the Fin/Swe layout)
### Basic commands and the working directory
@@ -158,14 +191,14 @@ git config --global credential.helper wincred
* Do you feel more at home in graphical UIs?
- * There are also graphical user interfaces for Git like [GitKraken](https://www.gitkraken.com/), [Sublime Merge](https://www.sublimemerge.com/) or [GitHub Desktop](https://desktop.github.com/) (GitHub only)
+ * There are also graphical user interfaces for Git like [Sublime Merge](https://www.sublimemerge.com/), [GitKraken](https://www.gitkraken.com/), or [GitHub Desktop](https://desktop.github.com/) (for use with GitHub only)
* VS Code also has very useful graphical tools for Git (more about them later!)
* However, the GUIs make ***a lot*** more sense after you've understood the Git commands that those GUIs still execute under the hood
* There is no free lunch here
-## Btw: Config
+## Note: Config
-* To configure your Git username for every project:
+* After installation, you may configure your Git username for every project:
* Use `git config --global user.name "myUserName"`
* and `git config --global user.email "my.email.address@domain.com"`
* If you do not do this, Git will ask to do it anyway at some point
\ No newline at end of file
diff --git a/imgs/git-basics_0.png b/imgs/git-basics_0.png
new file mode 100644
index 0000000..640d405
Binary files /dev/null and b/imgs/git-basics_0.png differ
diff --git a/imgs/git-basics_1.png b/imgs/git-basics_1.png
new file mode 100644
index 0000000..c0cad7b
Binary files /dev/null and b/imgs/git-basics_1.png differ
diff --git a/imgs/git-basics_2.png b/imgs/git-basics_2.png
new file mode 100644
index 0000000..65f65c4
Binary files /dev/null and b/imgs/git-basics_2.png differ
diff --git a/imgs/git-basics_3.png b/imgs/git-basics_3.png
new file mode 100644
index 0000000..45d8a5c
Binary files /dev/null and b/imgs/git-basics_3.png differ