Key vocabulary: line annotation, authorship attribution, code archaeology, git log -p (commit history with patches), using git blame for understanding, not blame.
3 / 10
A release note says: "The fix was cherry-picked from the hotfix branch to the release branch."
What does git cherry-pick do?
git cherry-pick — applying specific commits across branches:
Use case
Example
Apply security fix to multiple release branches
Cherry-pick the fix commit onto v1.x, v2.x branches
Selective backport
Take only one feature commit from main to release
Cherry-pick creates a new commit with a new SHA. Key vocabulary: apply changes from commit, new commit SHA, cherry-pick conflict, backport pattern.
4 / 10
A developer says: "I accidentally force-pushed and lost commits — I used git reflog to recover them."
What is the reflog?
git reflog — your local safety net:
Recovery scenario
Reflog recovery
Accidental git reset --hard
git reflog → find SHA → git checkout <SHA>
Deleted branch accidentally
Find last commit SHA in reflog → recreate branch
Force-push overwrote remote
Reflog has the pre-push HEAD position
Reflog keeps entries for ~90 days locally. Key vocabulary: HEAD history, dangling commit, reflog expiry (90 days), recovery after reset, lost commit retrieval.
5 / 10
A developer says: "I amended the last commit before pushing to fix a typo in the commit message."
What does git commit --amend do and when should it NOT be used?
git commit --amend — safe only before pushing:
State
Safe to amend?
Commit not yet pushed
✓ Safe — no one else has the old SHA
Commit pushed to personal branch (no one pulled)
✓ Safe with --force-with-lease
Commit pushed to shared/protected branch
✗ Dangerous — breaks collaborators who already pulled
Key vocabulary: commit amendment, history rewrite, force push danger on shared branches, amend before push.
6 / 10
During a code review, Sarah asks Mark: 'I noticed this commit includes a significant change to the user authentication module. Can you explain how you used git cherry-pick?' What is Mark most likely describing?
git cherry-pick allows you to select and apply individual commits from one branch to another. It's not about merging entire branches; it's a more granular operation focused on bringing specific changes over. Using cherry-pick can be useful for hotfixes or small feature implementations, but it can also lead to duplicated commit hashes if not managed carefully.
7 / 10
Liam, a junior developer, sends this Slack message after discovering an issue: 'Just ran git blame on the calculate_interest() function. Turns out it was last modified by David six months ago!'. What is Liam primarily using to investigate the history of changes?
git blame is a command-line utility specifically designed to show you *who* last modified each line of a file in your repository. It doesn't visualize the entire history or track file lineages; it focuses on the direct author of the most recent change to that specific part of the code. This is helpful for understanding why a particular piece of code was written or changed, but doesn't provide broader context.
8 / 10
In a Pull Request description, Alex writes: 'I've incorporated the latest security patch from the security/urgent-fix branch using git cherry-pick.' What is Alex attempting to achieve?
The key here is the phrase 'selectively applying specific commits.' git cherry-pick allows you to take only the necessary changes (in this case, security fixes) from one branch and apply them to another. This avoids the complexities of a full merge, particularly when dealing with potentially unstable or incomplete branches.
9 / 10
During a standup meeting, David mentions: 'I was digging through the commit history to figure out why this bug appeared, and I used git reflog to find the commit that introduced it.' What does David likely use git reflog for?
git reflog stores a record of *every* command you execute in Git – including commits, branch switches, resets, and more. It's primarily used for recovery purposes: if you accidentally delete a commit or perform a destructive operation, the reflog can help you retrieve it. It doesn't show the full history; it shows the *actions* that led to each state.
10 / 10
You realize you accidentally force-pushed a commit to your remote repository, losing some local commits. You consult with a senior developer who advises: 'Use git reflog to find the lost commits and then use git reset --hard to revert back.' What is the primary purpose of using git reset --hard in this scenario?
When you use git reset --hard with a reference from the reflog (like a specific hash), you're essentially telling Git to move your *current* branch pointer to that commit. This effectively discards any commits made after that point in history – it's a destructive operation designed to recover a previous state. It's not about merging or deleting; it's about reverting to the reflog's record.
What does this Version Control Strategy Language exercise cover?
This exercise, "📜 Git History & Forensics Vocabulary", tests your understanding of version control strategy language vocabulary and phrasing through 10 multiple-choice questions drawn from real workplace scenarios.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 10 questions. Each one presents a realistic sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Who is this Version Control Strategy Language exercise for?
It's designed for IT professionals and learners who want to sound natural discussing version control strategy language topics in English — useful for meetings, documentation, interviews, and day-to-day communication with English-speaking teams.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more Version Control Strategy Language exercises?
Browse the full Version Control Strategy Language exercises hub for more practice, or explore other exercise categories covering vocabulary, grammar, interviews, and workplace communication.