Course overview:
Whether you are a manual or automation tester, junior or senior, git is a must nowadays. Even though we need 5 minutes to start using it, it’s very common that we don’t quite understand it to its core. And that’s exactly the main source of headache we get later on when doing advanced things (sometimes even with simpler things like code merge). In this workshop, we will start with the idea behind the git, its architecture, relearn how to use it, implement the skill in a real-life project, and finish big with various examples of how both manual and automation testers should use it.
Objectives
The goal of this workshop is to (re)learn version control with Git. Participants will be able to use everything they learn on the next job day.
Target audience
If you’re in the IT team then this is for you. Manual tester, Automation engineer, Developer, or any DevOps role, they all need to know how to use Git. The workshop will go from introductory to intermediate level and introduce some advanced hacks. Previous knowledge of Git is not mandatory, but it will ease out and speed up the workshop.
Technical requirements
Installations:
- No need to do anything upfront. You will be walked through all installations with explanations.
- Linux and Mac users already have terminals. Windows users will be walked through the installation of Git Bash.
Technical knowledge:
- Understanding how IT teams work (devs and QAs).
- Basic knowledge of terminal use. You can learn this upfront, hint for googling: “basic terminal commands”.
Duration: 1 day
Agenda:
Part 1: The problem, the solution(s)
- Version control
- History
- Linus Torvalds
Part 2: Git setup
- Installation
- Configuration
- Documentation
Part 3: Getting Started
- Terminal
- Repository and files
- First commits
Part 4: Git Architecture
- Git vs Other VCS
- Three tree architecture
- Transitions
Part 5: Practice with example project
- Initializing Git
- Adding, editing, and deleting files
- Viewing and analyzing changes
Part 6: Dealing with mistakes
- Undoing changes
- Reverting
- Resetting
Part 7: Beginner pitfalls
- What not to version?
- Using .gitignore
- Stashing changes
Part 8: Branching
- What is branching and do we really need it?
- Viewing, creating, deleting branches
- Navigation through branches.
Part 9: Merging Branches
- Merging code
- Resolving merge conflicts
- Exploring strategies to reduce merge conflicts
Part 10: GitHub, Gitlab, GitHub
- What are these?
- Working with remote repositories
- A collaboration workflow
Part 11: QA testers and engineers using Git
- Why and when?
- Looking through use cases
- Guiding on how to implement new knowledge
Part 12: Practicing on a real-world project
- Getting tasks
- Implementing all learned
- Analyzing workflows
Part 13: Next steps
-
- Rebasing
- Git Workflows
- Branch management