: GitBench
Multiple consecutive resets - find the most recent lost commit
Tests ability to find the most recent lost commit after multiple consecutive resets. Evaluates reflog filtering across multiple destructive operations.

These commands set up the repo before the model sees the prompt. They define the starting file structure, staged changes, and Git history.

  1. 01 git init
  2. 02 git config user.email 'test@test.com'
  3. 03 git config user.name 'Test User'
  4. 04 echo 'a' > letters.txt
  5. 05 git add letters.txt
  6. 06 git commit -m 'Commit A'
  7. 07 echo 'b' >> letters.txt
  8. 08 git add letters.txt
  9. 09 git commit -m 'Commit B'
  10. 10 echo 'c' >> letters.txt
  11. 11 git add letters.txt
  12. 12 git commit -m 'Commit C - hotfix for login'
  13. 13 echo 'd' >> letters.txt
  14. 14 git add letters.txt
  15. 15 git commit -m 'Commit D'
  16. 16 git reset --hard HEAD~2
Prompt
You ran 'git reset --hard HEAD~2' which moved HEAD back two commits. You now want to recover the most recent commit that was lost, which had 'hotfix for login' in its message. Use git reflog to find the full commit hash you need.
Expected
Commit C - hotfix for login
Loading campaign evidence…
deepseek/deepseek-v4-flash:high PASS 100% 244 in → 212 out (145 reasoning)
The commit with the message "hotfix for login" that was lost after the reset is at `HEAD@{2}` in the reflog. Its full hash is: ``` 6e6dc6ab2f5381f1cce43d54d5def4eafc48b050 ```
deepseek/deepseek-v4-flash:high__json_schema PASS 100% 242 in → 112 out (59 reasoning)
2643f6ef9fd91dcdb3a082f73784754e124cbf3d
JSON Schema Structured Output
(raw) { "ref": "2643f6ef9fd91dcdb3a082f73784754e124cbf3d" }
deepseek/deepseek-v4-flash:none PASS 100% 237 in → 62 out (0 reasoning)
Based on the reflog, the commit you want to recover (the one with "hotfix for login" in its message) is: **`eb63b1696e43856a135fc01f59513399f744888e`** (at `HEAD@{2}`)
deepseek/deepseek-v4-flash:none__json_schema PASS 100% 249 in → 38 out (0 reasoning)
d2e4a1f78e02f2b3b9b6f4fa7e96f00d024bee87
JSON Schema Structured Output
(raw) { "ref": "d2e4a1f78e02f2b3b9b6f4fa7e96f00d024bee87" }
mistralai/devstral-2512 PASS 100% 293 in → 211 out
Based on the `git reflog` output, the commit you want to recover is: ``` e6c208c1fa2064f362f6ec27b49aa9fc76f959f3 ``` This is the commit with the message "Commit C - hotfix for login" (HEAD@{2}). To recover this commit, you can use either: 1. `git cherry-pick e6c208c1fa2064f362f6ec27b49aa9fc76f959f3` to apply the changes from this commit to your current branch, or 2. `git reset --hard e6c208c1fa2064f362f6ec27b49aa9fc76f959f3` to move your HEAD back to this commit (this will discard any changes made after this commit)
mistralai/devstral-2512__json_schema PASS 100% 299 in → 42 out
557757cd2a19d662fcc14dff834330074969cba1
JSON Schema Structured Output
(raw) {"ref": "557757cd2a19d662fcc14dff834330074969cba1"}
nvidia/nemotron-3-nano-30b-a3b:high PASS 100% 318 in → 416 out (154 reasoning)
The commit you’re looking for is: ``` 78a50e1dc89b04f173087b416a00a2b60d4bf0b9 ``` That entry in the reflog corresponds to **Commit C – “hotfix for login”**. You can recover it, for example, by checking it out directly: ```bash git checkout 78a50e1dc89b04f173087b416a00a2b60d4bf0b9 ``` or by creating a new branch from it: ```bash git branch hotfix-recovery 78a50e1dc89b04f173087b416a00a2b60d4bf0b9 ``` Either of these will bring the lost commit back into your working tree.
nvidia/nemotron-3-nano-30b-a3b:high__json_schema PASS 100% 306 in → 239 out (153 reasoning)
3e3d7797315ad656fe901ace38182b863b4ba123
JSON Schema Structured Output
(raw) { "ref": "3e3d7797315ad656fe901ace38182b863b4ba123" }
nvidia/nemotron-3-nano-30b-a3b:none PASS 100% 316 in → 231 out (0 reasoning)
Found it! The commit you need has the full hash: **`9be63b0f6c6226110c71c92a73c7314dab4a01bc`** This corresponds to **`HEAD@{2}`** in your `git reflog`, and its commit message is: > **Commit C - hotfix for login** You can recover this commit by checking it out or creating a new branch from it. For example: ```bash git checkout 9be63b0f6c6226110c71c92a73c7314dab4a01bc ``` or, if you want to create a new branch name for it: ```bash git checkout -b recover-hotfix-for-login 9be63b0f6c6226110c71c92a73c7314dab4a01bc ``` Now you can work from that restored commit! 🎉
nvidia/nemotron-3-nano-30b-a3b:none__json_schema PASS 100% 298 in → 40 out (0 reasoning)
7c1a27fe06aca17366fc0c867de155544bf83552
JSON Schema Structured Output
(raw) {"ref":"7c1a27fe06aca17366fc0c867de155544bf83552"}
poolside/laguna-xs.2:high PASS 100% 344 in → 495 out (295 reasoning)
I can help you recover that commit! Looking at the reflog, I can see the commit you're looking for. The commit with "hotfix for login" has the hash: **`406cb8f8de2a48728512b2c1b1ba78f1ff583fa1`** (this is at `HEAD@{2}` in the reflog). To recover it, you can run: ```bash git reset --hard HEAD@{2} ``` Or use the full commit hash directly: ```bash git reset --hard 406cb8f8de2a48728512b2c1b1ba78f1ff583fa1 ``` This will move your branch pointer back to that commit, restoring the "hotfix for login" commit and everything that came after it (Commit D).
poolside/laguna-xs.2:high__json_schema PASS 100% 328 in → 389 out (347 reasoning)
7c1a27fe06aca17366fc0c867de155544bf83552
JSON Schema Structured Output
(raw) {"ref": "7c1a27fe06aca17366fc0c867de155544bf83552"}
poolside/laguna-xs.2:none PASS 100% 324 in → 229 out (0 reasoning)
I can see the git reflog output and need to find the commit with "hotfix for login" in its message. Looking through the reflog entries, I can see: - **HEAD@{2}: commit: Commit C - hotfix for login** - This is the commit I need to recover The full commit hash for the "hotfix for login" commit is: **a92701c76d4846e24d016b645ed7fde88f2cfa71** You can now recover this commit by running: ```bash git reset --hard a92701c76d4846e24d016b645ed7fde88f2cfa71 ``` Or if you want to apply it on top of your current HEAD: ```bash git cherry-pick a92701c76d4846e24d016b645ed7fde88f2cfa71 ```
poolside/laguna-xs.2:none__json_schema FAIL 0% 337 in → 8 out (0 reasoning)
ref
JSON Schema Structured Output
(raw) {"ref": "ref"}
Failure: Expected output to mention target hash prefix/full hash or matching HEAD@{n} selector for 'Commit C - hotfix for login'