--- title: fix-github-push-large-binary type: note permalink: dotfiles/plans/fix-github-push-large-binary tags: - git - risk - tooling --- # Fix GitHub Push Rejection for Large Binary **Goal:** Remove the oversized `.local/bin/codebase-memory-mcp` blob from local-only history so `main` can push to GitHub successfully. ## Root cause - [decision] Commit `969140e` added `.local/bin/codebase-memory-mcp` at ~143.51 MB. - [decision] Commit `2643a0a` later removed the file, but the blob still exists in local history, so GitHub rejects the push. ## Tasks - [x] Rewrite the 4 local-only commits by soft-resetting to `origin/main`. - [x] Recreate a clean commit set without the large binary in history. - [x] Verify no large-file path remains in reachable history. - [x] Retry `git push` and confirm success. ## Acceptance criteria - No reachable commit from `HEAD` contains `.local/bin/codebase-memory-mcp`. - `git push` to `origin/main` succeeds without GitHub large-file rejection. ## Pre-mortem - Most likely failure: recommit accidentally stages a regenerated large binary again. - Fragile assumption: current worktree is clean except for the 4 local-only commits. - Red flag requiring redesign: if the large blob exists in earlier shared history, a broader history rewrite would be required. - Easy-to-miss regression: leaving `.local/bin/codebase-memory-mcp` unignored so it gets re-added later.