- 1. Git
- 2. survey questions
- 2.1. How do you work now? Describe your current workflow!
- 2.2. How often do you commit? How often do you push/pull?
- 2.3. How often do you have 'conflicts'?
- 2.4. How do you make sure new code works fine?
- 2.5. How do you ensure you did not break anything?
- 2.6. What are the git commands in use?
- 2.7. Git commands
- 3. Git intro
- 3.1. Communication
- 3.2. Why use a version control?
- 3.3. Version control Systems (VCS)
- 3.4. Local Version Control Systems (LVCS)
- 3.5. Centralized Version Control Systems (CVCS)
- 3.6. Distributed Version Control Systems (DVCS)
- 3.7. Why Git?
- 3.8. git services
- 3.9. Git Overview
- 3.10. Git Installation
- 3.11. Command line
- 3.12. Why Command line?
- 3.13. Which version do you have?
- 3.14. Configure Git
- 3.15. Configure Git - personalize
- 3.16. Configure and Privacy
- 3.17. More configuration - alias
- 3.18. Getting help
- 3.19. Exercises
- 4. Git Basics
- 4.1. 4 Ways to get started
- 4.2. Creating a local empty repository
- 4.3. Create first file
- 4.4. File status
- 4.5. Add first file
- 4.6. Commit first file
- 4.7. Making some changes
- 4.8. Untracked and Modified
- 4.9. Untracked/Modified/Staged
- 4.10. Commit the file(s)
- 4.11. See the changes
- 4.12. Stage and HEAD
- 4.13. Remove from stage (unstage)
- 4.14. Drop local changes (restore to HEAD or to index)
- 4.15. Add all the files
- 4.16. Git ignore
- 4.17. .git/info/exclude
- 4.18. .gitkeep
- 4.19. add and commit in one step
- 4.20. Move a file
- 4.21. Remove a file
- 4.22. Frequency of commits
- 4.23. log
- 4.24. gitk
- 4.25. blame
- 4.26. Exercise
- 5. Git Branching
- 5.1. Create a branch
- 5.2. Create a branch
- 5.3. Switch between branches
- 5.4. Exercises Session 4
- 5.5. Simple automatic merge
- 5.6. Merge with conflict
- 5.7. Repeated merge
- 5.8. Delete branch
- 5.9. Force delete branch
- 5.10. Delete remote branch
- 5.11. Exercises Session 6
- 5.12. rebase
- 5.13. Exercises Session 7
- 5.14. Various ways to list changes
- 5.15. log between commits
- 5.16. log show filenames
- 5.17. Show history of renamed file
- 5.18. Commits that were not merged yet
- 5.19. Git tag
- 5.20. Remove tags
- 5.21. Exercise
- 5.22. Exercises Session 3
- 6. Git Local
- 6.1. Create server repository
- 6.2. Configure user
- 6.3. Add file
- 6.4. Update file
- 6.5. First 3 commits
- 6.6. Create branch
- 6.7. Switch to branch
- 6.8. Make changes on the branch
- 6.9. Switch to master
- 6.10. Add changes to master
- 6.11. Switch to branch
- 6.12. Another change on the branch
- 6.13. Merge branch to master
- 6.14. Shared feature branch
- 7. Git Remote
- 7.1. Setup remote repository
- 7.2. Clone a repository
- 7.3. List remote repositories
- 7.4. push
- 7.5. fetch
- 7.6. pull
- 7.7. Simple Centralized workflow
- 7.8. incoming, outgoing
- 7.9. Remote branch
- 7.10. Remote branch created by others
- 7.11. Exercise
- 8. Git Workspace
- 8.1. tags
- 8.2. Stash
- 8.3. Stash untracked files as well
- 8.4. Stash selected files
- 8.5. How to stash only part of the files
- 8.6. Clear stash
- 8.7. Exercises Session 8
- 8.8. Undo last commit
- 8.9. Undo git reset
- 8.10. git bisect - finding bugs
- 8.11. Exercises Session 9
- 8.12. git rebase
- 9. Git Workflows
- 9.1. A collection of workflows and issues
- 9.2. Workflow for individuals
- 9.3. Git workflows
- 9.4. Centralized Workflow
- 9.5. Repo start
- 9.6. Developer A
- 9.7. Developer B
- 9.8. git pull (fetch+merge)
- 9.9. Forgetting to rebase
- 9.10. git pull --rebase (fetch+rebase)
- 9.11. Resolve conflicts
- 9.12. Conflicting patch
- 9.13. Conflicting file
- 9.14. Resolve conflicting file
- 9.15. Continue rebase
- 10. Git Flow
- 10.1. About Git Flow
- 10.2. Git Flow branches
- 10.3. Git flow chart
- 10.4. Try Git Flow
- 10.5. Merge to develop
- 10.6. Delete remote branch
- 10.7. Gitflow with Fast Forward merges
- 11. Github
- 11.1. Fork repository
- 11.2. Forking workflow
- 11.3. Clone a repository from Github
- 11.4. Github fork
- 11.5. git remote add
- 11.6. Public key
- 11.7. Exercise
- 11.8. Make some local changes
- 11.9. push out local changes to branch
- 11.10. Send Pull-Request
- 11.11. Make more changes and update the pull-request
- 11.12. Follow the changes in the original repository
- 11.13. Remove local branch
- 11.14. Remove remote branch
- 12. Git Internals
- 12.1. Plumbing and Porcelan
- 12.2. The .git directory
- 12.3. Git Objects (Files)
- 12.4. See Objects
- 12.5. tags
- 13. Appendix
- 13.1. Setup remote repository
- 13.2. Revert local changes
- 13.3. Undelete a file
- 13.4. Edit config files
- 13.5. Common Git commands
- 13.6. Tools
- 13.7. External difftool WinMerge
- 13.8. Resources
- 14. Extra
- 14.1. Stage hunk-by-hunk
- 14.2. Edit last commit message
- 14.3. Push to remote branch
- 14.4. Detached HEAD
- 14.5. Change last commit message
- 14.6. How to see the content of the staged version of a file?
- 14.7. How to see an older version of a file?
- 14.8. Setup git subtree
- 14.9. git subtree change parent
- 14.10. git subtree change in subtre