Duration
2 days
Outline
Note: This will be completely hands-on training, with 80% practical and 20% theo-ry. The scenarios will be demonstrated using MS Visual Studio as GIT client, as well as with GIT Command Line Interface, wherever required.
Undoing GIT Commits
- Git Reset
- Hard
- Soft
- Mixed
- Git Revert
- Unstaging changes
Git Checkout and its uses
- Discarding modified changes
- Checkout a file
- Checkout a commit
- Checkout branch
GIT Branches
- Introduction to GIT Branches
- Branching Strategy and best practices
- Feature branching
- GIT Workflow
- Cactus branching
- Forking workflow
- Create and checkout to a branch
- Committing on a branch
Branch Merge Strategies
- Fast forward merge
- Recursive merge
- Octopus merge
Dealing with Merge Conflicts
- Scenarios when conflicts can occur
- Resolving conflicts manually
- Resolving conflicts with Kdiff3 and Visual Studio
- Configuring merge tools with GIT CLI
Working with GITLAB as a Remote GIT Server
- Cloning Options
- Difference between Pull and Fetch
- Synchronizing repository with GIT Rebase
- Managing multiple developer commits
Remote branching workflow
- Create branch on server and pulling the branch
- Pushing changes to the branch
- Merging branch on server through Merge Request
- Forking a repository
Maintaining Repository and Improving Performance
- Rebase Interactive
- Squashing commits
- Changing older commits
- changing commit comments for older commits
- Performance overview in GIT
- Dangling & unreachable Objects
- Reflog
- Purging history
- GIT gc (Garbage collection)
- git fsck
- git prune
Securing the repository
- Repository Permissions
- Setup SSH Keys
GIT Hooks
- Local hooks vs server hooks
- Create local hooks for pre commit and post commit events
GIT Submodules
- Adding another repository into a GIT repo using submodules
- Updating commits of a sub module repository
- Deleting submodules
Splitting Repositories
- git filter-branch
- Introduction to subtree
- splitting repositories using subtree
Programme scope, delivery arrangements and suitability are confirmed during enquiry.