GIT lecture
by Sergey Puzankov
1. Intro
1.1. What is CVS
1.2. Centralized/decentralised
1.3. SVN/GIT
2. GIT essentials
2.1. Init repo
2.1.1. git init
2.2. 3 stages
2.2.1. Add or Make change in file
2.2.2. Add it to staging
2.2.3. Commit
2.3. Working with staging
2.3.1. git add
2.3.2. git status
2.3.3. git diff
2.3.3.1. git diff --cached / git diff --staged
2.3.4. git rm
2.3.4.1. git rm --cached readme.txt
2.3.5. git reset
2.3.5.1. soft
2.3.5.2. hard
2.3.6. git checkout -- file
2.4. History
2.4.1. git log
2.4.2. graph
2.5. Remote
2.5.1. git pull
2.5.2. git fetch
2.5.3. fast forvard
2.5.4. git push
2.6. Clone repo
2.6.1. git clone
2.6.2. git remote
3. Setup
3.1. gitconfig file
3.1.1. user
3.1.1.1. name
3.1.1.2. email
3.1.2. aliases
3.1.2.1. st
3.1.2.2. b
3.1.2.3. ci
3.1.2.4. co
3.1.2.5. prom
3.1.3. color
3.2. gitignore
4. Git flow
4.1. feature branches
4.2. git branch
4.2.1. git co -b feature
4.2.2. git co b
4.2.3. git branch -a
4.2.4. git b -d
4.3. main dev branch master
4.4. merging
5. Tips
5.1. Conflicts
5.2. --amend
5.3. revert commit
5.4. cherry pick
5.5. squash
5.6. force push
5.7. stash
5.7.1. git stash
5.7.2. git stash pop