diff --git a/lib/util/git/error.ts b/lib/util/git/error.ts
index 1d16ca035617255523afe9812779888c35f7d23e..89defb295dbcc869c9f598115972480b180b5622 100644
--- a/lib/util/git/error.ts
+++ b/lib/util/git/error.ts
@@ -22,7 +22,6 @@ export function checkForPlatformFailure(err: Error): Error | null {
     'early EOF',
     'fatal: bad config', // .gitmodules problem
     'expected flush after ref listing',
-    '[rejected] (stale info)',
   ];
   for (const errorStr of externalHostFailureStrings) {
     if (err.message.includes(errorStr)) {
diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts
index 58ee277cca68105529cf757da23218eaa515d65b..fb16828b3e7255af5182a27660eea44df2700bdf 100644
--- a/lib/util/git/index.ts
+++ b/lib/util/git/index.ts
@@ -982,18 +982,25 @@ export async function fetchCommit({
 export async function commitFiles(
   commitConfig: CommitFilesConfig
 ): Promise<CommitSha | null> {
-  const commitResult = await prepareCommit(commitConfig);
-  if (commitResult) {
-    const pushResult = await pushCommit(commitConfig);
-    if (pushResult) {
-      const { branchName } = commitConfig;
-      const { commitSha } = commitResult;
-      config.branchCommits[branchName] = commitSha;
-      config.branchIsModified[branchName] = false;
-      return commitSha;
+  try {
+    const commitResult = await prepareCommit(commitConfig);
+    if (commitResult) {
+      const pushResult = await pushCommit(commitConfig);
+      if (pushResult) {
+        const { branchName } = commitConfig;
+        const { commitSha } = commitResult;
+        config.branchCommits[branchName] = commitSha;
+        config.branchIsModified[branchName] = false;
+        return commitSha;
+      }
     }
+    return null;
+  } catch (err) /* istanbul ignore next */ {
+    if (err.message.includes('[rejected] (stale info)')) {
+      throw new Error(REPOSITORY_CHANGED);
+    }
+    throw err;
   }
-  return null;
 }
 
 export function getUrl({