简体   繁体   中英

Removing files from past commits in GitHub repository with BFG Repo-Cleaner

I have a file in my GitHub repository that I would like to remove from my previous commits. I used BFG Repo-Cleaner's delete-files command and it appeared to work, but when I go on my GitHub repository the file is still on all the previous commits. If I try and do the command again, it gives me a

BFG aborting: No refs to update - no dirty commits found??

Am I misunderstanding how BFG works? If so how can I remove the file from my past commits on GitHub?

Here are the steps I took:

  1. Cloned a copy of my GitHub repo into a local folder using the --mirror flag.
  2. I then cd to my local visual studio project.
  3. I then entered in the command java -jar bfg-1.12.1.13.jar --delete-files <.json file I wanted to delete> <my local clone copy from step 1>.git
  4. I then entered in git reflog expire --expire=now --all && git gc --prune=now --aggressive
  5. Ran git push

A git push alone should not work, since BFG repo cleaner does rewrite the history of a repo.

It should work though when you cloned (as you did) with --mirror , since, on git push , locally updated refs will be force updated on the remote end.

Note that:

By default the HEAD branch is protected, and while its history will be cleaned, the very latest commit (the 'tip') is a protected commit and its file-hierarchy won't be changed at all.

Don't forget to remove your file from your HEAD (current working tree) as well, before pushing back.

After discussion , it seems the commands were not executed in the right folder. That folder should end with .git : xxx.git : a clone --mirror is a bare repo.

Skip step 2 in your steps and it should work (don't cd into your <repo-name>.git ).

You need to run BFG from the folder that contains the folder <repo-name>.git . BFG is looking for a folder called <repo-name>.git in the working directory. That's why it didn't change anything.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM