checkout: Use merge when initializing cache

Bug: b/314378562, b/311909343
Change-Id: Ia7dc77cbe0732c182bb100caaf965671a3b01cf4
Reviewed-on: https://pigweed-review.googlesource.com/c/infra/recipes/+/188912
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Rob Mohr <mohrr@google.com>
Reviewed-by: Ted Pudlik <tpudlik@google.com>
diff --git a/recipe_modules/checkout/api.py b/recipe_modules/checkout/api.py
index 44c0503..36c251e 100644
--- a/recipe_modules/checkout/api.py
+++ b/recipe_modules/checkout/api.py
@@ -933,9 +933,7 @@
                                 )
                             raise
 
-                    self.m.git.raw_checkout(
-                        ref='FETCH_HEAD', force=True, **kwargs
-                    )
+                    self.m.git.merge(ref='FETCH_HEAD', **kwargs)
 
                     if included_submodules and excluded_submodules:
                         raise self.m.step.InfraFailure(
diff --git a/recipe_modules/checkout/tests/git.expected/ci.json b/recipe_modules/checkout/tests/git.expected/ci.json
index 6b555c9..20356b1 100644
--- a/recipe_modules/checkout/tests/git.expected/ci.json
+++ b/recipe_modules/checkout/tests/git.expected/ci.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json b/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
index 36cf809..b56f713 100644
--- a/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
+++ b/recipe_modules/checkout/tests/git.expected/not_in_gerrit.json
@@ -314,13 +314,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/git.expected/other.json b/recipe_modules/checkout/tests/git.expected/other.json
index 348578f..7e6c2a7 100644
--- a/recipe_modules/checkout/tests/git.expected/other.json
+++ b/recipe_modules/checkout/tests/git.expected/other.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/git.expected/trigger.json b/recipe_modules/checkout/tests/git.expected/trigger.json
index dfb7a6e..04e5e99 100644
--- a/recipe_modules/checkout/tests/git.expected/trigger.json
+++ b/recipe_modules/checkout/tests/git.expected/trigger.json
@@ -495,8 +495,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -513,7 +512,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/git.expected/try.json b/recipe_modules/checkout/tests/git.expected/try.json
index 334640b..a5661d2 100644
--- a/recipe_modules/checkout/tests/git.expected/try.json
+++ b/recipe_modules/checkout/tests/git.expected/try.json
@@ -546,8 +546,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -564,7 +563,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/insteadof.json b/recipe_modules/checkout/tests/submodule.expected/insteadof.json
index 58165e2..3c29be9 100644
--- a/recipe_modules/checkout/tests/submodule.expected/insteadof.json
+++ b/recipe_modules/checkout/tests/submodule.expected/insteadof.json
@@ -604,8 +604,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -622,7 +621,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json b/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
index 5b7ceca..9e7e08c 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-ci.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-match.json b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-match.json
index a24e6d5..fd6f672 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-match.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-match.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-nomatch.json b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-nomatch.json
index 7196ec9..f92fd08 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-nomatch.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-nomatch.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-twomatch.json b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-twomatch.json
index f6b135b..a87789c 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-twomatch.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-repeated-twomatch.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
index 40d1eda..551e43a 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-equivalent.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded-missing.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded-missing.json
index 06a3290..755fbd1 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded-missing.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded-missing.json
@@ -444,8 +444,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -462,7 +461,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded.json
index a9f02ec..1f85515 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-excluded.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-included-excluded.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-included-excluded.json
index e4fb0ff..a213208 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-included-excluded.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-included-excluded.json
@@ -444,8 +444,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -462,7 +461,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-included.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-included.json
index aa2c14c..8c77eca 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-included.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-included.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
index 06fb46c..0a13ab6 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-cqdeps.json
@@ -988,8 +988,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -1006,7 +1005,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
index f02c316..1ff54ba 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing-one-forbidden-cqdeps.json
@@ -1089,8 +1089,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -1107,7 +1106,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
index 10e77cc..d4e4453 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple-one-missing.json
@@ -692,8 +692,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -710,7 +709,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
index f10bfb2..1fcbce5 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-multiple.json
@@ -691,8 +691,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -709,7 +708,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
index 121bf31..e43d995 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try-not-found.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipe_modules/checkout/tests/submodule.expected/submodule-try.json b/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
index 750334d..063e374 100644
--- a/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
+++ b/recipe_modules/checkout/tests/submodule.expected/submodule-try.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/bazel.expected/simple.json b/recipes/bazel.expected/simple.json
index 86444bd..f905f08 100644
--- a/recipes/bazel.expected/simple.json
+++ b/recipes/bazel.expected/simple.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/build.expected/basic.json b/recipes/build.expected/basic.json
index 74ad3d4..868fddf 100644
--- a/recipes/build.expected/basic.json
+++ b/recipes/build.expected/basic.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/build.expected/skip_archive.json b/recipes/build.expected/skip_archive.json
index 3611250..84a92d2 100644
--- a/recipes/build.expected/skip_archive.json
+++ b/recipes/build.expected/skip_archive.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/bad_package_spec.json b/recipes/cipd_roller.expected/bad_package_spec.json
index 0551d69..606453d 100644
--- a/recipes/cipd_roller.expected/bad_package_spec.json
+++ b/recipes/cipd_roller.expected/bad_package_spec.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/missing_tag.json b/recipes/cipd_roller.expected/missing_tag.json
index 9ae6dd1..36ab30e 100644
--- a/recipes/cipd_roller.expected/missing_tag.json
+++ b/recipes/cipd_roller.expected/missing_tag.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/multiple.json b/recipes/cipd_roller.expected/multiple.json
index 6b509cb..92f2725 100644
--- a/recipes/cipd_roller.expected/multiple.json
+++ b/recipes/cipd_roller.expected/multiple.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/multiple_common_tags.json b/recipes/cipd_roller.expected/multiple_common_tags.json
index 007825d..50a5a3c 100644
--- a/recipes/cipd_roller.expected/multiple_common_tags.json
+++ b/recipes/cipd_roller.expected/multiple_common_tags.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/no_common_tags.json b/recipes/cipd_roller.expected/no_common_tags.json
index d4e9ef2..ad3b898 100644
--- a/recipes/cipd_roller.expected/no_common_tags.json
+++ b/recipes/cipd_roller.expected/no_common_tags.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/no_common_tags_and_relaxing_ref_mismatch_does_not_help.json b/recipes/cipd_roller.expected/no_common_tags_and_relaxing_ref_mismatch_does_not_help.json
index f91d4bb..f645d76 100644
--- a/recipes/cipd_roller.expected/no_common_tags_and_relaxing_ref_mismatch_does_not_help.json
+++ b/recipes/cipd_roller.expected/no_common_tags_and_relaxing_ref_mismatch_does_not_help.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/no_common_tags_but_relaxing_ref_mismatch_helps.json b/recipes/cipd_roller.expected/no_common_tags_but_relaxing_ref_mismatch_helps.json
index 665a580..0cabf8e 100644
--- a/recipes/cipd_roller.expected/no_common_tags_but_relaxing_ref_mismatch_helps.json
+++ b/recipes/cipd_roller.expected/no_common_tags_but_relaxing_ref_mismatch_helps.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/no_curlies_in_spec.json b/recipes/cipd_roller.expected/no_curlies_in_spec.json
index ac718b2..ae09166 100644
--- a/recipes/cipd_roller.expected/no_curlies_in_spec.json
+++ b/recipes/cipd_roller.expected/no_curlies_in_spec.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/platform-independent.json b/recipes/cipd_roller.expected/platform-independent.json
index 3f90bac..1d4df16 100644
--- a/recipes/cipd_roller.expected/platform-independent.json
+++ b/recipes/cipd_roller.expected/platform-independent.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/rc.json b/recipes/cipd_roller.expected/rc.json
index 8aa172b..557905a 100644
--- a/recipes/cipd_roller.expected/rc.json
+++ b/recipes/cipd_roller.expected/rc.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/cipd_roller.expected/success.json b/recipes/cipd_roller.expected/success.json
index 424797f..5b15460 100644
--- a/recipes/cipd_roller.expected/success.json
+++ b/recipes/cipd_roller.expected/success.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/docs_builder.expected/docs-dry_run-build.json b/recipes/docs_builder.expected/docs-dry_run-build.json
index 081a927..29ba186 100644
--- a/recipes/docs_builder.expected/docs-dry_run-build.json
+++ b/recipes/docs_builder.expected/docs-dry_run-build.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/docs_builder.expected/docs-postsubmit.json b/recipes/docs_builder.expected/docs-postsubmit.json
index 22e4b5e..62f65eb 100644
--- a/recipes/docs_builder.expected/docs-postsubmit.json
+++ b/recipes/docs_builder.expected/docs-postsubmit.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/docs_builder.expected/docs-presubmit.json b/recipes/docs_builder.expected/docs-presubmit.json
index 3323dd9..ed283d1 100644
--- a/recipes/docs_builder.expected/docs-presubmit.json
+++ b/recipes/docs_builder.expected/docs-presubmit.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/envtest.expected/environment_variables.json b/recipes/envtest.expected/environment_variables.json
index 747896f..9be68e4 100644
--- a/recipes/envtest.expected/environment_variables.json
+++ b/recipes/envtest.expected/environment_variables.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/envtest.expected/fail.json b/recipes/envtest.expected/fail.json
index 93108ec..c4974a4 100644
--- a/recipes/envtest.expected/fail.json
+++ b/recipes/envtest.expected/fail.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/envtest.expected/pigweed.json b/recipes/envtest.expected/pigweed.json
index fb26ba7..fae79ea 100644
--- a/recipes/envtest.expected/pigweed.json
+++ b/recipes/envtest.expected/pigweed.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/envtest.expected/windows.json b/recipes/envtest.expected/windows.json
index a61cdec..a792f94 100644
--- a/recipes/envtest.expected/windows.json
+++ b/recipes/envtest.expected/windows.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]\\git\\pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/luci_config.expected/starlark.json b/recipes/luci_config.expected/starlark.json
index ded5580..b0e60f8 100644
--- a/recipes/luci_config.expected/starlark.json
+++ b/recipes/luci_config.expected/starlark.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/pw_presubmit.expected/one_step_no_exit_not_in_cv.json b/recipes/pw_presubmit.expected/one_step_no_exit_not_in_cv.json
index 31b5d5f..7e16d90 100644
--- a/recipes/pw_presubmit.expected/one_step_no_exit_not_in_cv.json
+++ b/recipes/pw_presubmit.expected/one_step_no_exit_not_in_cv.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/pw_presubmit.expected/one_step_no_exit_not_tryjob.json b/recipes/pw_presubmit.expected/one_step_no_exit_not_tryjob.json
index 986125a..f8ace6e 100644
--- a/recipes/pw_presubmit.expected/one_step_no_exit_not_tryjob.json
+++ b/recipes/pw_presubmit.expected/one_step_no_exit_not_tryjob.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/pw_presubmit.expected/one_step_no_exit_passing_in_ci.json b/recipes/pw_presubmit.expected/one_step_no_exit_passing_in_ci.json
index 31b5d5f..7e16d90 100644
--- a/recipes/pw_presubmit.expected/one_step_no_exit_passing_in_ci.json
+++ b/recipes/pw_presubmit.expected/one_step_no_exit_passing_in_ci.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/pw_presubmit.expected/sign.json b/recipes/pw_presubmit.expected/sign.json
index 77834f7..cdf3528 100644
--- a/recipes/pw_presubmit.expected/sign.json
+++ b/recipes/pw_presubmit.expected/sign.json
@@ -443,8 +443,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -461,7 +460,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/pw_presubmit.expected/two_steps.json b/recipes/pw_presubmit.expected/two_steps.json
index ff7a1eb..bf1fea2 100644
--- a/recipes/pw_presubmit.expected/two_steps.json
+++ b/recipes/pw_presubmit.expected/two_steps.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/recipes.expected/cq_try.json b/recipes/recipes.expected/cq_try.json
index 863781e..991dcdb 100644
--- a/recipes/recipes.expected/cq_try.json
+++ b/recipes/recipes.expected/cq_try.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/recipes.expected/unittest-only.json b/recipes/recipes.expected/unittest-only.json
index 3f0ca12..8607a3f 100644
--- a/recipes/recipes.expected/unittest-only.json
+++ b/recipes/recipes.expected/unittest-only.json
@@ -553,8 +553,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -571,7 +570,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/backwards.json b/recipes/repo_roller.expected/backwards.json
index b8a0cc9..59f4c43 100644
--- a/recipes/repo_roller.expected/backwards.json
+++ b/recipes/repo_roller.expected/backwards.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-a",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout a.cache.git checkout",
+    "name": "checkout a.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/dotdot-prefix.json b/recipes/repo_roller.expected/dotdot-prefix.json
index bd143ab..04956aa 100644
--- a/recipes/repo_roller.expected/dotdot-prefix.json
+++ b/recipes/repo_roller.expected/dotdot-prefix.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-prefix-g",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout g.cache.git checkout",
+    "name": "checkout g.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/equivalent.json b/recipes/repo_roller.expected/equivalent.json
index 758b417..06fcd1a 100644
--- a/recipes/repo_roller.expected/equivalent.json
+++ b/recipes/repo_roller.expected/equivalent.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/bar.googlesource.com-b",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout b.cache.git checkout",
+    "name": "checkout b.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/host-dot-dot.json b/recipes/repo_roller.expected/host-dot-dot.json
index 26fa074..8b1a58f 100644
--- a/recipes/repo_roller.expected/host-dot-dot.json
+++ b/recipes/repo_roller.expected/host-dot-dot.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-f",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout f.cache.git checkout",
+    "name": "checkout f.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/host-prefix.json b/recipes/repo_roller.expected/host-prefix.json
index 22d5df7..c951d90 100644
--- a/recipes/repo_roller.expected/host-prefix.json
+++ b/recipes/repo_roller.expected/host-prefix.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-prefix-h",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout h.cache.git checkout",
+    "name": "checkout h.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/name-not-found.json b/recipes/repo_roller.expected/name-not-found.json
index b23c1b9..365b303 100644
--- a/recipes/repo_roller.expected/name-not-found.json
+++ b/recipes/repo_roller.expected/name-not-found.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/no-trigger-with-revision-branch.json b/recipes/repo_roller.expected/no-trigger-with-revision-branch.json
index eaec40a..de2005f 100644
--- a/recipes/repo_roller.expected/no-trigger-with-revision-branch.json
+++ b/recipes/repo_roller.expected/no-trigger-with-revision-branch.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
     "infra_step": true,
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -724,13 +723,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/bar.googlesource.com-c",
     "infra_step": true,
-    "name": "checkout c.cache.git checkout",
+    "name": "checkout c.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/no-trigger-with-revision-hash.json b/recipes/repo_roller.expected/no-trigger-with-revision-hash.json
index ced9e19..829d88b 100644
--- a/recipes/repo_roller.expected/no-trigger-with-revision-hash.json
+++ b/recipes/repo_roller.expected/no-trigger-with-revision-hash.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
     "infra_step": true,
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -724,13 +723,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/bar.googlesource.com-d",
     "infra_step": true,
-    "name": "checkout d.cache.git checkout",
+    "name": "checkout d.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/no-trigger-with-revision-tag.json b/recipes/repo_roller.expected/no-trigger-with-revision-tag.json
index 7f57536..7b986b1 100644
--- a/recipes/repo_roller.expected/no-trigger-with-revision-tag.json
+++ b/recipes/repo_roller.expected/no-trigger-with-revision-tag.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
     "infra_step": true,
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -724,13 +723,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/bar.googlesource.com-e5",
     "infra_step": true,
-    "name": "checkout e5.cache.git checkout",
+    "name": "checkout e5.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/no-trigger-with-upstream.json b/recipes/repo_roller.expected/no-trigger-with-upstream.json
index 58630ac..8cb2a7f 100644
--- a/recipes/repo_roller.expected/no-trigger-with-upstream.json
+++ b/recipes/repo_roller.expected/no-trigger-with-upstream.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
     "infra_step": true,
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -724,13 +723,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-a",
     "infra_step": true,
-    "name": "checkout a.cache.git checkout",
+    "name": "checkout a.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/success.json b/recipes/repo_roller.expected/success.json
index d9e65bf..c1d0d88 100644
--- a/recipes/repo_roller.expected/success.json
+++ b/recipes/repo_roller.expected/success.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-a",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout a.cache.git checkout",
+    "name": "checkout a.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/upstream-not-set-revision-not-branch.json b/recipes/repo_roller.expected/upstream-not-set-revision-not-branch.json
index d870901..b0b9f3a 100644
--- a/recipes/repo_roller.expected/upstream-not-set-revision-not-branch.json
+++ b/recipes/repo_roller.expected/upstream-not-set-revision-not-branch.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/repo_roller.expected/upstream-not-set.json b/recipes/repo_roller.expected/upstream-not-set.json
index 4d68f79..edbad3b 100644
--- a/recipes/repo_roller.expected/upstream-not-set.json
+++ b/recipes/repo_roller.expected/upstream-not-set.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/host.googlesource.com-manifest",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout manifest.cache.git checkout",
+    "name": "checkout manifest.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1142,8 +1141,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/bar.googlesource.com-c",
@@ -1160,7 +1158,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout c.cache.git checkout",
+    "name": "checkout c.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/run_script.expected/run_script.json b/recipes/run_script.expected/run_script.json
index bf9d5b8..f199025 100644
--- a/recipes/run_script.expected/run_script.json
+++ b/recipes/run_script.expected/run_script.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/run_script.expected/variable_substitution.json b/recipes/run_script.expected/variable_substitution.json
index 186fdfb..6b664d3 100644
--- a/recipes/run_script.expected/variable_substitution.json
+++ b/recipes/run_script.expected/variable_substitution.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/submodule_roller.expected/missing.json b/recipes/submodule_roller.expected/missing.json
index b501307..66f18b4 100644
--- a/recipes/submodule_roller.expected/missing.json
+++ b/recipes/submodule_roller.expected/missing.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/submodule_roller.expected/noop.json b/recipes/submodule_roller.expected/noop.json
index c4fa74a..eb42baa 100644
--- a/recipes/submodule_roller.expected/noop.json
+++ b/recipes/submodule_roller.expected/noop.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/submodule_roller.expected/partial_noop.json b/recipes/submodule_roller.expected/partial_noop.json
index 555bbcd..e250f7d 100644
--- a/recipes/submodule_roller.expected/partial_noop.json
+++ b/recipes/submodule_roller.expected/partial_noop.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/submodule_roller.expected/success.json b/recipes/submodule_roller.expected/success.json
index 9398c3b..3c9b236 100644
--- a/recipes/submodule_roller.expected/success.json
+++ b/recipes/submodule_roller.expected/success.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/target_to_cipd.expected/pw-presubmit.json b/recipes/target_to_cipd.expected/pw-presubmit.json
index 87f43d4..bf1ffdf 100644
--- a/recipes/target_to_cipd.expected/pw-presubmit.json
+++ b/recipes/target_to_cipd.expected/pw-presubmit.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_check.expected/addition.json b/recipes/tokendb_check.expected/addition.json
index d6c7d85..d6feec0 100644
--- a/recipes/tokendb_check.expected/addition.json
+++ b/recipes/tokendb_check.expected/addition.json
@@ -670,8 +670,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -688,7 +687,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_check.expected/no-change.json b/recipes/tokendb_check.expected/no-change.json
index 4087450..ad24101 100644
--- a/recipes/tokendb_check.expected/no-change.json
+++ b/recipes/tokendb_check.expected/no-change.json
@@ -670,8 +670,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -688,7 +687,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_check.expected/removal.json b/recipes/tokendb_check.expected/removal.json
index 1d6f136..4ba80b4 100644
--- a/recipes/tokendb_check.expected/removal.json
+++ b/recipes/tokendb_check.expected/removal.json
@@ -670,8 +670,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -688,7 +687,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_check.expected/update.json b/recipes/tokendb_check.expected/update.json
index 0331e45..ba24e89 100644
--- a/recipes/tokendb_check.expected/update.json
+++ b/recipes/tokendb_check.expected/update.json
@@ -670,8 +670,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -688,7 +687,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_updater.expected/dry-run.json b/recipes/tokendb_updater.expected/dry-run.json
index 64f8ecc..24bc571 100644
--- a/recipes/tokendb_updater.expected/dry-run.json
+++ b/recipes/tokendb_updater.expected/dry-run.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/tokendb_updater.expected/simple.json b/recipes/tokendb_updater.expected/simple.json
index 571af26..a6e1abf 100644
--- a/recipes/tokendb_updater.expected/simple.json
+++ b/recipes/tokendb_updater.expected/simple.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/txt_roller.expected/backwards.json b/recipes/txt_roller.expected/backwards.json
index 17ec2d7..d213e15 100644
--- a/recipes/txt_roller.expected/backwards.json
+++ b/recipes/txt_roller.expected/backwards.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -841,13 +840,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-foo",
     "infra_step": true,
-    "name": "checkout foo.cache.git checkout",
+    "name": "checkout foo.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/txt_roller.expected/bad-trigger.json b/recipes/txt_roller.expected/bad-trigger.json
index 8b99845..11887c0 100644
--- a/recipes/txt_roller.expected/bad-trigger.json
+++ b/recipes/txt_roller.expected/bad-trigger.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/txt_roller.expected/no-trigger.json b/recipes/txt_roller.expected/no-trigger.json
index 0bd811f..721ef75 100644
--- a/recipes/txt_roller.expected/no-trigger.json
+++ b/recipes/txt_roller.expected/no-trigger.json
@@ -159,13 +159,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -841,13 +840,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-foo",
     "infra_step": true,
-    "name": "checkout foo.cache.git checkout",
+    "name": "checkout foo.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/txt_roller.expected/success.json b/recipes/txt_roller.expected/success.json
index cd7c84c..38edcf9 100644
--- a/recipes/txt_roller.expected/success.json
+++ b/recipes/txt_roller.expected/success.json
@@ -243,8 +243,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -261,7 +260,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
@@ -1286,8 +1285,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/foo.googlesource.com-foo",
@@ -1304,7 +1302,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout foo.cache.git checkout",
+    "name": "checkout foo.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/update_python_versions.expected/simple.json b/recipes/update_python_versions.expected/simple.json
index 6620045..ff1becd 100644
--- a/recipes/update_python_versions.expected/simple.json
+++ b/recipes/update_python_versions.expected/simple.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/xrefs.expected/dry_run.json b/recipes/xrefs.expected/dry_run.json
index aeebc92..eaa1380 100644
--- a/recipes/xrefs.expected/dry_run.json
+++ b/recipes/xrefs.expected/dry_run.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/xrefs.expected/kythe.json b/recipes/xrefs.expected/kythe.json
index b380bd7..344bb64 100644
--- a/recipes/xrefs.expected/kythe.json
+++ b/recipes/xrefs.expected/kythe.json
@@ -320,13 +320,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
     "infra_step": true,
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"
diff --git a/recipes/xrefs.expected/tryjob.json b/recipes/xrefs.expected/tryjob.json
index 7646bd2..c4ff7d5 100644
--- a/recipes/xrefs.expected/tryjob.json
+++ b/recipes/xrefs.expected/tryjob.json
@@ -545,8 +545,7 @@
   {
     "cmd": [
       "git",
-      "checkout",
-      "-f",
+      "merge",
       "FETCH_HEAD"
     ],
     "cwd": "[CACHE]/git/pigweed.googlesource.com-pigweed-pigweed",
@@ -563,7 +562,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "checkout pigweed.cache.git checkout",
+    "name": "checkout pigweed.cache.git merge",
     "timeout": 600.0,
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@2@@@"