What is a merge commit, and how is it different from a normal commit?
A merge commit has two (or more) parents instead of one. It records the point where two lines of history were joined, and holds the combined result of both branches.
Explain it simply
A normal commit is a single-lane road with one road behind it. A merge commit is a junction where two roads join; it remembers both roads it came from.
Technically every commit stores the hash of its parent. A merge commit stores two, the tip of the branch you were on and the tip of the branch you merged. That is how git log --graph draws the diamond shapes. You can see both with git show on the merge commit, and git log --first-parent follows only the main line, hiding the branch detail.
Example
git merge feature
git log --oneline --graph
# * 9c1d2ef Merge branch 'feature'
# |\
# | * 5b7a8c1 Add profile page
# * | 2e4f9a0 Fix header
git log --first-parent --onelineWhat to say in the interview
"A merge commit has two parents and ties two histories together. It usually has no changes of its own beyond resolving conflicts. git log --graph shows it as a join, and --first-parent lets me read just the main line."