How would you remove a sensitive file (e.g., a committed API key) from the entire repository history? What follow-up steps are needed after rewriting history?
What are submodules, and what are their common pain points? What alternatives exist (subtrees, package managers)?
Explain Git's object model: blobs, trees, commits, and tags. How does Git store data (snapshots vs deltas)?
How do you keep a long-lived feature branch up to date with main, and what problems do long-lived branches cause?
Compare Git workflows you've used: Git Flow, GitHub Flow, trunk-based development. What are the trade-offs?
What is git rebase -i (interactive rebase)? What operations can you perform with it (squash, fixup, reword, drop)?