git-workshop

Introduction

Scope

This course is made for you. It is part of d-fine’s introductory curriculum for new hires and is provided to CorrelAid. Its aim is to impart basic IT knowledge, so that you can hit the road running when staffed on your first IT project.

The course covers version control with git.

Intent

As prerequisites differ, the training is offered in the form of supported self-study. This means that instead of following a presentation of a week’s worth of topics, you can follow the plan of the course at your own pace. As everyone brings different prerequisites, the course is designed in such a way that even participants with previous knowledge will be busy for a few hours. During the meetings, instructors will be available to help you with any questions that you cannot figure out for yourself (see also Where to get help).

Almost every chapter consists of both a theoretical and a practical part. You are encouraged to follow the practical exercises and hand them in once you are done. Your instructor will review your submissions and give an overall feedback in the following meeting such that everyone can benefit from it.

The aim of this exercise is not to assess you, but to enable you to deliver value in your future work. Functional IT knowledge is at the core of our work on many projects. Therefore, although we are well aware that one could easily create and distribute solutions for the practical exercises, we would like to appeal to your common sense in discouraging you from engaging in such a practice: In most cases, reading someone’s solution to a problem without having yourself attempted to solve it does not have the effect of conveying the desired proficiency. We ask you to refrain from copying solutions, for your own good, and for the good of others.

Note also that this course is not intended to make you an expert programmer. Its aim is to hand you a toolbox with just enough inside to get you started. Feel free to deepen your knowledge in any of the individual areas, and to broaden it to any of the many others that are out there.

We hope you will enjoy this training course. We are dedicated to the continual improvement of our course materials. Therefore, if you have questions, comments, or any other feedback, please feel free to reach out to your course instructors. Even better, fork the basis-it-training repository, make a merge request against the master branch with your improvements, and assign it to your instructor. (You are going to learn how to do this during the training.)

Schedule

The general idea of the course is that you should follow it at your own pace. However, we have an idea of what we would like you to learn and make the following recommendation:

Course section When to complete
Version control with git Complete the Bash Basics section till the second meeting
Version control with git Complete the Git advanced section till the third meeting
Version control with git Complete the Git expert section till the final meeting

To guide you through the course, we have marked the sections of the course as core and/or elective. In addition, every section contains some guidance on until when you should complete it to stay on track.

Where to get help

As noted above, an engagement with the course materials and a brief online research is part of the expected scope of the course. If you need help or have questions, follow the steps below:

Submitting solutions to exercises

In the course of this training, we will ask you to submit the solutions to every exercise at the end of each chapter. Please submit the solution to every exercise as soon as you are done with it. In the next meeting, a possible solution and some possible mistakes will be discussed so that everyone can benefit from it.

Review process on git

For the git chapters in the training you will need to write bash scripts and send those to the supervisors of this training. In order to do so:

Start now with Git / Bash Installation.