Materials and tools used in a security reviewIllustration of a working environment

Enrolment opening soon

Git: history under control

Git and version control

Understand Git from your first commit to collaboration and recovery. See what enters history, how to compare changes and when to use merge, rebase, restore or revert. Practice conflicts, publishing and clear releases while understanding each decision's effect.

PLN 249planned price including tax

In your browser · No installation · Tutor and narration

FormatIn your browser, at your own pace
Syllabus19 topic areas
Edition languagePolish
Signup typeFree waitlist

Git: history under control

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.

Open your browser. Start learning.

The tutor shows you.
The narrator explains. You practice.

Do not spend your first evening configuring an environment. The application, tools and task context are in one place. You do not need Docker, a VPN, a virtual machine or paid software.

See what to pay attention to

A virtual tutor walks you through the example and highlights important parts of the application, code or tool. Connect the instruction to what is happening on screen.

Hear why the result matters

Narration explains the mechanism, decision and result. Pause the guidance, return to an earlier step and work through it at your own pace.

Test your own reasoning

Take over in the exercise: change data, run a test or make a decision. Compare the result and improve your solution using the explanation.

One environment, without switching between a video and a local installation. Tools fit the topic: from HTTP requests and code to a terminal, calculator or document. Practice in simulators and prepared cases, without attacking other people's systems.

What will you be able to do?

Know where a change is and how to recover it safely.

Understand the working file, index, commit and remote repository. This supports decisions even when using a GUI.

Starting point

You are unsure what will enter the next commit.

The skill you develop

Distinguish working changes, staged changes and recorded history.

How you test it in practice

Compare the correct layers and prepare a commit containing only the intended change.

Starting point

A conflict leads to file copying or guesswork.

The skill you develop

Resolve a conflict while preserving both changes' intent.

How you test it in practice

Explain the conflict's cause and check final content and history after integration.

Starting point

Every undo operation seems likely to lose work.

The skill you develop

Choose undo or recovery methods for the repository's state.

How you test it in practice

First identify the layer and an available recovery point. Then verify the operation's effect and its impact on collaborators in the exercise.

Why does this matter beyond the course?

Apply this reasoning to code, scripts and documentation instead of running undo commands without understanding their effects.

Connect each skill to a concrete work product. Return to explanations while you practice.

A syllabus backed by materials

Specific topics.
Practice that helps you understand them.

See what makes up the syllabus: lessons, explanations, examples and exercises. The figures below describe different types of materials.

19chapters
Topic chapters in the current course materials. Subviews and indexes of the same content do not increase this count.
320Git lessons
232 lessons with modeled actions or visualization and 88 historical or reference lessons. This is a local repository model, not 320 native Git operations.
938narrated steps
Distinct pairs of screen text and narration after removing identical duplicates. These are guidance segments, not separate complete lessons.
12practice scenarios
Practical missions in the repository model. Indexes and extra views of the same lesson do not create more missions.

The figures describe the English-language source materials. The waiting list is for the planned Polish edition. These counts do not mean its translation is complete. Demonstration steps, examples and tasks are different units, not hours of video or counts of unique vulnerabilities.

Entry point

Who is this course for?

  • Beginning developers, analysts and documentation authors who want to record and review changes deliberately.
  • GUI users who want to understand the underlying operations.

What helps at the start

  • Basic file skills and willingness to use short commands. Initial tasks introduce repositories from scratch; no prior Git knowledge is required.

Available in Polish and English — you can switch language at any time. Command names, code snippets and standard identifiers remain in their original form.

How you learn

First, understand.
Then, do it yourself.

The tutor walks through an example and explains each decision. In the exercise, return to the context, check the result and improve your answer.

  1. Understand the situation

    Goal, constraints and inputs. Know what you are testing and why.

  2. See the mechanism

    Watch a demonstration with tutor commentary, step by step.

  3. Complete the task

    Work with data, a tool or a scenario. Compare the result with your expectation.

  4. Draw a conclusion

    Justify your decision and understand its limitations. Return to anything that needs improvement.

Exercises use simulators and selected mechanisms that run in the browser. They do not require attacking other people's systems.

Planned syllabus

Know what you are learning. And why.

Each area develops a specific skill. Learn not only the topic but also the action and outcome that learning leads to.

Each topic includes a skill and a concrete exercise outcome.

I want to join the list
01Your first repository and commit

Create a repository for ordinary project files, set author identity and read status. Select changes and prepare your first commit. Explain exactly what the saved version contains.

Tutor-guided exercise

What you practice
Create a change record and distinguish it from editing a file.
Practical outcome
Compare the file, index and commit in the exercise repository. Check what actually entered history.
02Working tree, index and ignore rules

Separate untracked files, working changes and staged changes. Test .gitignore and the difference between removal from the index and disk. Prepare only the intended part of your work.

Tutor-guided exercise

What you practice
Control which changes are recorded.
Practical outcome
Compare status and index contents. Explain why an ignore rule does not automatically remove an already tracked file.
03Reading history

Use the log and authorship information to trace changes. Connect a commit message to its contents and place in history. Choose a view that answers a question about a specific project fragment.

Tutor-guided exercise

What you practice
Reconstruct change order and meaning.
Practical outcome
Find a specified commit and compare it with the previous state. Connect the description to the actual diff.
04Revisions, references and objects

Learn branch names, object identifiers, parent relationships and revision ranges. Practice reading references and reflog entries. See why a branch name and the commit it points to are not the same thing.

Tutor-guided exercise

What you practice
Identify repository state without relying on a branch name.
Practical outcome
Compare HEAD, a reference and an object identifier in the example. Explain which record a revision points to.
05Working with branches

Create and switch branches while preserving current work. Check upstream relationships and the effects of renaming and deletion. Choose an action for the repository state, not just the intended goal.

Tutor-guided exercise

What you practice
Separate parallel lines of work and their starting points.
Practical outcome
Operate on exercise branches and inspect history. Identify which change is available in a given state.
06Comparing changes

Choose two states to compare: working files, index or commits. Read the diff and check what will be saved or shared. Prepare a change small and clear enough for meaningful review.

Tutor-guided exercise

What you practice
Choose a comparison for a question about files, the index or history.
Practical outcome
Compare differences across repository layers. Explain which diff shows changes intended for the next commit.
07Merge and conflict resolution

Merge branch histories and analyze a conflict's cause. Resolve it based on intended content, then check files and the history graph. Removing conflict markers alone does not replace assessing the result.

Tutor-guided exercise

What you practice
Resolve a conflict based on both changes' intent.
Practical outcome
Analyze the prepared repository's conflict and merge result. Check content instead of treating removed markers as a correct fix.
08Remotes and synchronization

Distinguish a local branch from information about a remote branch. Practice fetch, deliberate pull strategy selection and push. Learn force-with-lease conditions and the importance of team agreement.

Tutor-guided exercise

What you practice
Distinguish fetching information from integrating history.
Practical outcome
Compare modeled repository state before and after synchronization. Identify the difference between a local branch and a tracking reference.
09Rebase and history cleanup

Analyze moving changes to a new base, combining commits and reordering your work. Check the resulting objects and content. Distinguish cleaning a private branch from rewriting shared history.

Tutor-guided exercise

What you practice
Recognize history rewriting's effects and limits.
Practical outcome
Compare the graph before and after rebase. Identify changed identifiers and the risk to users of shared history.
10Cherry-pick and patch exchange

Transfer selected changes between branches and trace patch exchange. Compare content equivalence with commit identity. Choose a transfer method suited to the goal and existing history.

Tutor-guided exercise

What you practice
Transfer a selected change while preserving its context.
Practical outcome
Compare the applied patch with the original example. Check dependencies instead of assuming one commit always suffices.
11Undoing and recovering work

Choose restore, reset or revert for the layer you want to change. Find earlier state in the reflog and protect recovered work. Before cleanup, check which data may become harder to reach.

Tutor-guided exercise

What you practice
Choose an undo method based on whether the change is already shared.
Practical outcome
Compare revert, reset and reflog recovery in prepared states. Check history and preserved content.
12Stash, cleanup and worktree

Set aside unfinished work, review a cleanup preview and compare work in an additional worktree. Check which branch and directory own the state. Change context without accidentally mixing tasks.

Tutor-guided exercise

What you practice
Distinguish setting work aside from deleting files.
Practical outcome
Analyze state before and after an operation. Identify what is preserved and what cleanup could lose.
13Configuration and aliases

Read Git settings' origins and scopes. Prepare clear shortcuts and check their actual behavior. Distinguish personal convenience from rules the team process must enforce.

Tutor-guided exercise

What you practice
Identify which configuration affects command execution.
Practical outcome
Check a setting's scope and alias expansion in the example. Distinguish a command shortcut from a new Git feature.
14Attributes and large files

Analyze attribute rules, content handling and Git LFS. Recognize the boundary between repository objects and externally stored files. Prepare requirements for reproducibly retrieving the project.

Case analysis

What you practice
Recognize how file rules affect recording and exchanging changes.
Practical outcome
Analyze attributes and large-file storage. Identify the data and tools a repository recipient needs.
15Submodules and subtree

Compare ways to incorporate another project and specify its version. Trace dependency updates and additional trust boundaries. Explain the steps and sources needed to reconstruct the whole project.

Case analysis

What you practice
Distinguish ways of including an external project.
Practical outcome
Compare a reference to a separate repository with incorporated history. Explain what must be fetched and updated in each case.
16Tags, archives and release handover

Connect a release label to a specific project state. Compare tags, file archives and history-containing bundles. Prepare a package with verifiable provenance and scope.

Tutor-guided exercise

What you practice
Bind a release to an unambiguous code state.
Practical outcome
Compare the exercise tag, commit and archive. Check that delivered material matches the stated version.
17Hooks and team collaboration

Learn hook uses and their nature as executable code. Analyze review processes, branch rules and change controls. Distinguish local automation from protection enforced for everyone.

Case analysis

What you practice
Distinguish local assistance from team-enforced controls.
Practical outcome
Analyze a hook example and a collaboration rule. Explain why a local check cannot replace release-process verification.
18Repository internals and diagnostics

Connect everyday commands to the objects and references they use. Read diagnostic material and choose a safe next step. Reference topics support understanding complex issues without presenting every tool as executed in the exercise.

Tutor-guided exercise

What you practice
Investigate a problem through references, objects and operation history.
Practical outcome
Compare repository state with the symptom in a prepared case. Identify evidence supporting diagnosis before remediation.
19GUI, migration and safe handover

Translate GUI actions into Git operations and analyze migration-tool context. Consider secrets, signatures and release provenance. Finish with a description of repository state and collaboration rules.

Case analysis

What you practice
Check operation results independently of the interface used.
Practical outcome
Compare history, references and required files after changing workflow. Identify items requiring confirmation during handover.

In practice

What will you work on
during the course?

Each case has context, a concrete action and an outcome. The goal is not to memorize a command but to understand why the result changed.

A change ready for collaborative review

Stage selected files, read the diff and create a clear commit. Integrate another branch, resolve conflicts and check content and history before publishing.

Work productAn organized change with an explanation of integration and publication.

Recovering work and handing over a repository

Identify the layer containing an unwanted change and choose an undo method. Find earlier state and prepare a reproducible repository or release package.

Work productA recovery plan, verified project state and handover description.

Certificate of completion

Finish the course.
Get the certificate.

When you complete the course, the certificate is issued automatically and emailed to you. It shows your name, the date of issue and a unique code, and its second page lists the course scope.

  • Anyone, such as an employer, can check the code without logging in.
  • The certificate is issued in English.
  • It confirms completion of the course; it is not an industry certification.

Code verification: cyberszkola.pl/verify

Sample certificate of completion, page 1, with example details and a SPECIMEN watermark
Sample certificate, page 2: course scope
Sample certificate: page 1 and the course scope on page 2. The name, date and code are examples.
Enlarge course scope
Sample certificate, page 2: course scope

Upcoming standalone course

A defined scope.
Without buying the whole path.

  • Exercises in repository state, branches, conflicts and work recovery.
  • Collaboration, change comparison and release-preparation cases.
  • Reference materials for advanced operations and Git trust boundaries.
  • Certificate of completion in English, with a verification code.

Planned course price

PLN 249including tax

Polish edition · Launch date not yet announced

Notify me at launch

Joining is free. Before sales open, you will receive the date, full scope and purchase terms. We are not taking payments today. This is a separate interest list, not a place reservation or purchase.

For companies and teams

Training for your team.
On our platform or in your LMS.

  • Company accounts, departments and licences on our platform, with progress reports for managers.
  • Delivery into your company's e-learning system. Progress and completion show up in your own reports.
  • VAT invoice issued to your company.

Compatible with LMS platforms including:

  • Moodle
  • TalentLMS
  • Cornerstone
  • Docebo
  • SAP SuccessFactors
  • Workday Learning
  • Absorb
  • 360Learning

and other platforms that support e-learning standards.

Price for companies

Individual quotedepends on the number of licences, access period and delivery method

Delivery into your company's own LMS from 50 licences.

Ask for a quote

Write to kontakt@cyberszkola.pl: the number of people, the courses you want and your LMS, if you use one.

Jacek Wlodarczyk

Project author

Jacek Wlodarczyk

Creator of Cyberwiedza, cyberszkola and AI SecLabs. In these courses, I connect explanations of mechanisms with practice, observation and decisions you need to justify.

Running a command is not enough. What matters is what its output confirms, what it does not confirm and what the next step should be.

More about the author

Before joining

Good to know.

I use a GUI. Is this course for me?

Yes. Understand the states and operations behind the buttons. Commands help check results precisely, but knowledge of the index, history and branches also applies to graphical interfaces.

Will I immediately change my own repository?

Exercises use a prepared environment and repository-state model. First trace decisions' effects in training material, then choose an appropriate operation for your own work.

Am I buying a course now?

No. This is an upcoming course announcement and an interest list. Joining is not a purchase, a place reservation or a commitment to pay.

When will it launch, and what will it cost?

The launch date, price and access terms will be announced before sales open. The interest list is how we send that information.

What language will the course use?

The course is available in Polish and in English — you can switch language at any time, and lessons, exercise explanations and narration exist in both. Commands, code and tool names keep their original syntax, as used in everyday work.

Do I need to install Docker, a VPN or my own lab?

No. All course exercises run in your browser on a computer with internet access. Training applications, terminals, editors and workshops are part of the platform. You do not install Docker, a virtual machine or a VPN, and you do not need paid external tools.

Is this just a collection of videos?

No. You work in an interactive environment. A virtual tutor highlights important elements, and narration explains the action and its result. Pause the lesson, return to earlier steps and run your own experiments. This guidance is built into the course, not individual consultation with a person.

Do the exercises act on other people's systems?

No. You use training applications, simulators and prepared data. Learn the mechanism and its limitations in a safe environment. External resources are supplementary, not required to complete the exercises.

Will I receive a certificate or a job guarantee?

Yes, a certificate of completion. When you complete the course, you receive a certificate in English with a unique code that anyone can check at cyberszkola.pl/verify. It confirms completion of the course and is issued by the author; it is not an industry certification. We do not promise employment.

Are these official OWASP or ISO courses?

No. These are independently authored courses using public references and original cases. They do not replace licensed standards, accreditation or qualifications required in regulated industries.

Join the waitlist

Do not miss the launch: Git: history under control

Leave your email address. We will send you news of enrollment, the syllabus and first-edition terms. You will not need to keep checking this page.

Planned price: PLN 249 including tax

  • Launch news for your chosen course
  • The full offer before you decide to buy
  • Free to join, no obligation to buy

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.