Only your first attempt at each question counts toward this score. Reload the page to reset.
This section contains 15 interactive knowledge checks designed to test your understanding of the materials covered in Chapter 4. The questions cover fundamental Git commands, branching strategies, collaborative features in GitLab, and edge-specific CI/CD concepts.
Please remember that many of the quizzes have multiple correct answers, and you must select all applicable options to succeed. Take your time to carefully evaluate each option.
Both Git and GitLab require a constant, high-speed internet connection because every local file save must be immediately validated by the central cloud server.
Git is the core command-line version control software installed locally, whereas GitLab is a web-based platform that hosts Git repositories and provides DevOps tools.
Git operates primarily on your local machine to track changes and maintain project history, allowing developers to work offline before merging changes later.
GitLab is an upgraded version of Git that must be installed on your local computer to replace the older, command-line interface.
It serves as a low-level programming language that compiles directly into machine code for the ESP32 microcontroller.
It uses a plain-text syntax that is easy to read and write without specialised rich-text editors, ensuring maximum portability across platforms.
It automatically encrypts the repository contents before they are pushed to a public remote server.
It allows developers to maintain 'Documentation as Code', meaning documentation can be version-controlled, branched, and merged alongside the source code.
Q4
Quiz
Select 0/3
According to professional standards (the '50/72 rule'), what are the characteristics of a well-crafted Git commit message?
Git combines two diverged histories by creating a brand-new 'merge commit' that has two parent edges feeding into it.
The user manually resolves conflicts where the exact same line of code was edited differently in two branches.
Git automatically deletes the target branch because it contains three or more conflicting files.
Git simply slides the branch pointer forward to the target commit because the histories have not diverged.
Q8
Quiz
Select 0/1
You attempt to run `git push`, but the terminal throws an error saying 'Push rejected — fetch first' (or 'pull first'). What is the cause of this error?
Checking out a tag puts the repository in a 'detached HEAD' state because you are observing a static point in history rather than an active line of development.
Tags can be easily deleted and recreated to point to different commits daily, while branches are permanent and cannot be deleted.
Tags are immutable references to a specific commit used to mark milestones or releases, whereas branches are movable pointers that advance with new commits.
Tags are only used to assign developers to specific tasks within the GitLab Issues board.
Q12
Quiz
Select 0/2
When reviewing a Merge Request in GitLab, how does the 'Diff View' assist the reviewer?
It instantly resolves all merge conflicts by prioritizing the code written by the Senior Engineer.
It ensures that reviewers can quickly identify modifications without needing to read through the entire unmodified file structure.
It provides a visual representation highlighting exactly which lines were added (often in green with a '+') and which were deleted (in red with a '-').
It automatically writes and executes unit tests for the newly submitted code.
Because edge devices are often deployed in remote, physically inaccessible locations, making manual, manual USB-stick updates risky and inefficient.
Because edge processors do not have the memory required to store Git version history locally.
Because it guarantees that the exact same, thoroughly tested binary version is deployed consistently across the entire diverse fleet of hardware.
Because it allows developers to safely implement 'canary' releases, pushing updates to a small subset of test devices before a global rollout.
Congratulations on completing the Chapter 4 Knowledge Test!
Review any questions you missed to ensure a solid grasp of version control and collaboration workflows before proceeding to the code-heavy projects in the following chapters.