diff --git a/services/web/app/src/Features/GitSync/GitSyncHandler.mjs b/services/web/app/src/Features/GitSync/GitSyncHandler.mjs index faa9d1b2e1..bc20a55edd 100644 --- a/services/web/app/src/Features/GitSync/GitSyncHandler.mjs +++ b/services/web/app/src/Features/GitSync/GitSyncHandler.mjs @@ -173,7 +173,9 @@ async function pushToRemote( // read-tree updates the index without checking out any files, so no blobs are downloaded. try { await spawnGit(['fetch', '--filter=blob:none', 'origin', branch], repoDir) - await spawnGit(['read-tree', 'FETCH_HEAD'], repoDir) + // --mixed: moves HEAD to FETCH_HEAD + updates index, no working tree change. + // This makes FETCH_HEAD the parent of our next commit so the diff only shows subPath changes. + await spawnGit(['reset', '--mixed', 'FETCH_HEAD'], repoDir) } catch { // Empty remote or first push — proceed with empty index }