34 lines
1.4 KiB
Markdown
34 lines
1.4 KiB
Markdown
---
|
|
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
|
|
- [ ] Rewrite the 4 local-only commits by soft-resetting to `origin/main`.
|
|
- [ ] Recreate a clean commit set without the large binary in history.
|
|
- [ ] Verify no large-file path remains in reachable history.
|
|
- [ ] 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.
|