Information about performing a git-commit-ectomy correctly. https://pages.charlesreid1.com/git-commit-ectomy/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Reid c53362082c add some fixes to the TOC преди 1 година
docs add some fixes to the TOC преди 1 година
mkdocs-material @ b0c6890853 Update mkdocs-material for mkdocs 1.0 преди 2 години
.gitignore adding mkdocs преди 3 години
.gitmodules adding mkdocs преди 3 години
LICENSE add license преди 3 години
README.md add some fixes to the TOC преди 1 година
memo update memo with notes преди 3 години
mkdocs.yml update docs with new images преди 2 години

README.md

git-commit-ectomy

Perform a git-commit-ectomy to forever remove problematic commits from your repo history.

This uses the git-forget-blob.sh script from @nachoparker.

git-commit-ectomy main banner image

what is this

This page covers how to perform a git-commit-ectomy.
This is a procedure that removes problematic files or
commits from your repository history.

For example, suppose the intern adds and commits a 1 GB
CSV file to your repository. After profusely apologizing,
the intern removes the 1 GB file, but the damage is done,
and the 1 GB file will forever bloat .git.

Enter the git surgeon. A git surgeon can remove such
problematic commits and get the commit history back in
shape.

Git College of Surgery on Github

the procedure

This surgical procedure can happen one of four ways:

consult with your doctor

You should consult with your doctor to determine if a
git-commit-ectomy is right for your repository.

This one-liner lists the 40 largest files in the repo
(modify the tail line to change the number of items
returned):

$ git rev-list --all --objects | \
     sed -n $(git rev-list --objects --all | \
     cut -f1 -d' ' | \
     git cat-file --batch-check | \
     grep blob | \
     sort -n -k 3 | \
     \
     tail -n40 | \
     \
     while read hash type size; do
          echo -n "-e s/$hash/$size/p ";
     done) | \
     sort -n -r -k1