1. Git
  2. survey questions
    1. How do you work now? Describe your current workflow!
    2. How often do you commit? How often do you push/pull?
    3. How often do you have 'conflicts'?
    4. How do you make sure new code works fine?
    5. How do you ensure you did not break anything?
    6. What are the git commands in use?
    7. Git commands
  3. Git intro
    1. Communication
    2. Why use a version control?
    3. Version control Systems (VCS)
    4. Local Version Control Systems (LVCS)
    5. Centralized Version Control Systems (CVCS)
    6. Distributed Version Control Systems (DVCS)
    7. Why Git?
    8. git services
    9. Git Overview
    10. Git Installation
    11. Command line
    12. Why Command line?
    13. Which version do you have?
    14. Configure Git
    15. Configure Git - personalize
    16. Configure and Privacy
    17. More configuration - alias
    18. Getting help
    19. Exercises
  4. Git Basics
    1. 4 Ways to get started
    2. Creating a local empty repository
    3. Create first file
    4. File status
    5. Add first file
    6. Commit first file
    7. Making some changes
    8. Untracked and Modified
    9. Untracked/Modified/Staged
    10. Commit the file(s)
    11. See the changes
    12. Stage and HEAD
    13. Remove from stage (unstage)
    14. Drop local changes (restore to HEAD or to index)
    15. Add all the files
    16. Git ignore
    17. .git/info/exclude
    18. .gitkeep
    19. add and commit in one step
    20. Move a file
    21. Remove a file
    22. Frequency of commits
    23. log
    24. gitk
    25. blame
    26. Exercise
  5. Git Branching
    1. Create a branch
    2. Create a branch
    3. Switch between branches
    4. Exercises Session 4
    5. Simple automatic merge
    6. Merge with conflict
    7. Repeated merge
    8. Delete branch
    9. Force delete branch
    10. Delete remote branch
    11. Exercises Session 6
    12. rebase
    13. Exercises Session 7
    14. Various ways to list changes
    15. log between commits
    16. log show filenames
    17. Show history of renamed file
    18. Commits that were not merged yet
    19. Git tag
    20. Remove tags
    21. Exercise
    22. Exercises Session 3
  6. Git Local
    1. Create server repository
    2. Configure user
    3. Add file
    4. Update file
    5. First 3 commits
    6. Create branch
    7. Switch to branch
    8. Make changes on the branch
    9. Switch to master
    10. Add changes to master
    11. Switch to branch
    12. Another change on the branch
    13. Merge branch to master
    14. Shared feature branch
  7. Git Remote
    1. Setup remote repository
    2. Clone a repository
    3. List remote repositories
    4. push
    5. fetch
    6. pull
    7. Simple Centralized workflow
    8. incoming, outgoing
    9. Remote branch
    10. Remote branch created by others
    11. Exercise
  8. Git Workspace
    1. tags
    2. Stash
    3. Stash untracked files as well
    4. Stash selected files
    5. How to stash only part of the files
    6. Clear stash
    7. Exercises Session 8
    8. Undo last commit
    9. Undo git reset
    10. git bisect - finding bugs
    11. Exercises Session 9
    12. git rebase
  9. Git Workflows
    1. A collection of workflows and issues
    2. Workflow for individuals
    3. Git workflows
    4. Centralized Workflow
    5. Repo start
    6. Developer A
    7. Developer B
    8. git pull (fetch+merge)
    9. Forgetting to rebase
    10. git pull --rebase (fetch+rebase)
    11. Resolve conflicts
    12. Conflicting patch
    13. Conflicting file
    14. Resolve conflicting file
    15. Continue rebase
  10. Git Flow
    1. About Git Flow
    2. Git Flow branches
    3. Git flow chart
    4. Try Git Flow
    5. Merge to develop
    6. Delete remote branch
    7. Gitflow with Fast Forward merges
  11. Github
    1. Fork repository
    2. Forking workflow
    3. Clone a repository from Github
    4. Github fork
    5. git remote add
    6. Public key
    7. Exercise
    8. Make some local changes
    9. push out local changes to branch
    10. Send Pull-Request
    11. Make more changes and update the pull-request
    12. Follow the changes in the original repository
    13. Remove local branch
    14. Remove remote branch
  12. Git Internals
    1. Plumbing and Porcelan
    2. The .git directory
    3. Git Objects (Files)
    4. See Objects
    5. tags
  13. Appendix
    1. Setup remote repository
    2. Revert local changes
    3. Undelete a file
    4. Edit config files
    5. Common Git commands
    6. Tools
    7. External difftool WinMerge
    8. Resources
  14. Extra
    1. Stage hunk-by-hunk
    2. Edit last commit message
    3. Push to remote branch
    4. Detached HEAD
    5. Change last commit message
    6. How to see the content of the staged version of a file?
    7. How to see an older version of a file?
    8. Setup git subtree
    9. git subtree change parent
    10. git subtree change in subtre