Version control with Git from zero to hero

Invalid data source. Please correct the following errors:
  • The specified Sheet Name (Workshops) was not found. Please try again with the correct one from the following list:\nWindows Server 2019 Microsoft Azure 2 React Microsoft 365 Projektų valdymas Asmeninis efektyvumas Scrum ITIL4F ITIL4P ITIL4L

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