Testing & delivery
Testing, Git, containers, CI/CD, and cloud fundamentals.
Merge vs rebase vs cherry-pick?
Merge, rebase and cherry-pick integrate changes through different history operations. Merge combines histories, rebase recreates commits on a new base, and cherry-pick recreates selected changes on the current branch. Recreated commits receive new IDs, which matters when other people already depend on the old history.
Reset vs revert, and when should I use stash?
Reset changes the current branch reference and may also change staged or working files depending on its mode. Revert records a new inverse change while preserving shared history. Stash stores local changes temporarily so another operation can proceed, but it should not replace committing important work.
How do I resolve a merge conflict or find a bad commit?
A merge conflict means Git cannot automatically decide how competing changes should combine. Resolving it requires understanding the intended behavior, not just removing conflict markers. Bisect solves a different problem: it narrows the commit range that introduced a reproducible regression through repeated good/bad checks.
Difficulty is an editorial estimate. Completion means you chose to mark a question as understood.