DEV Community

Rohit Pakhrin
Rohit Pakhrin

Posted on

1

Removing sensitive content from GIT | BFG

Using BFG

BFG is one great open source tool which is an alternative for git filter repo maintained by Roberto Tyley.

Use Case

Today I am using this to clear alias key and password that I unknowingly pushed to the repo and is present in all the commits. It is present in gradle.properties inside android folder.

Installation

Image description

You can download jar file from BFG website and install using java.

Installing with brew

You can use: brew install bfg
command to install bfg directly from terminal

I had to use arch -arm64 in my m1Mac book.

arch -arm64 brew install bfg

Creating backup

It is recommended to create backup before performing the modification.

cp -R path/to/Project path/to/Project_backup

Create replacements.txt file

Write the codes or passwords in this file that you want to be removed.

BFG crawls your repo and removes the codes from this file.

Default is changed to Removed

Image description
source:

Run replace text command

Now run the following command. This will change the passwords to REMOVED or custom texts and crawls all the commits and also updates them.

bfg --replace-text path/to/replacements.txt path/to/Project

After running above command, it will prompt following to be executed:

git reflog expire --expire=now --all && git gc --prune=now --aggressive

Commit protection

I ran into commit protection where adding this --no-blob-protection
solved it.

Pushing to git

Image description
Now you can push to git using force push

git push -uf

You can now check in Git, if your updates are present now.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay