Hello and a warm welcome to this course on source control for test automation with the version control system Git. I'm super happy to have you with me today. My name is Simon and I am your instructor.

As a disclaimer, I want to mention that this course is by far not teaching you everything the version control system Git has to offer. Rather shall this course give you the basics and some more advanced Git concepts so that you are afterwards ready and armed for learning and experimenting more on your own.

If you have during this course any questions, suggestions for improvement, notice some box or just want to say hello, you can do so by either contacting me in the Slack channel of Test Automation University, via Twitter (@alientester), or via my website where you will find my further contact details.

There are eight chapters ahead of you as you already know from other courses, each chapter is followed by some questions where you can collect points. In the resource section of each chapter, you will find some further helpful links. And at the end of this course you will also get a certificate of completion.

Are you ready? So, let's start.

There are a lot of different ways in using Git. There are the original command line tools and there are many Git clients which have a graphical user interface.

For this course, we will be using get on the command line as it offers much more insights, what Git is doing and what is going on.

Up front I have to mention that you won't find any chapter on “how do I install Git on my machine?”. There are tons of good resources in the web which explain that in detail (I also provide some in the resources section in next chapter).

# Let me give you an overview of this course.

  • In Chapter 1 you will learn what the version control is and why it is important for test automation.

  • In Chapter 2 you will learn what the most popular version control system Git is and how it differs from other version control systems.

  • In Chapter 3 you will learn the basic Git concepts like initializing, adding, committing, pushing, cloning, fetching, and pulling.

  • In Chapter 4 we will do some warmup and learn the advanced Git concepts branching, merging, rebasing, and changing history.

  • In Chapter 5 we dive deep and learn the advanced Git concepts: resolving conflicts, cherry picking, reverting, and resetting.

  • Then in Chapter 6 you will get familiar with some well-known Git branching strategies.

  • In Chapter 7 we will have a look at some of the most well-known Git remote repository managers, which are available in the market.

  • And to finish this course, I will give you in the last chapter some learning resources where you can deepen your Git knowledge if you want to.

Now, I wish you a lot of fun with this course.