If you ever had a massive object files under directory /myproject/.git/objects
then you come to right place, this tutorial will tech you how to clean up them
Method 1
Go into your current project root directory, exectue these code below
git reflog expire --expire=now --all
git repack -ad # Remove dangling objects from packfiles
git prune # Remove dangling loose objects
// OR
rm -f .git/objects/*/tmp_*
Method 2
If you clone another ppl repo with a huge previous commit message, and you want to start with a clean repo, there are 2 simple ways to do this.
First method
git clone --no-hardlinks blah.git
Second method
git checkout --orphan tmp
git add -A
git commit -m "clean project"
git branch -D master
git branch -m master
git push -f origin master
// Gitlab error
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
// Solution
Unprotect this repo: Settings -> Repository -> Protected branch -> unprotect
References:
- https://stackoverflow.com/questions/5277467/how-can-i-clean-my-git-folder-cleaned-up-my-project-directory-but-git-is-sti
- https://blog.csdn.net/dounine/article/details/77840416
Photo by Kent Pilcher on Unsplash