-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Git Version Control Cookbook
By :

In this example, we'll see how we can use Git filter-branch to remove sensitive data from a file throughout the repository history.
For simplicity, we'll use a very simple example repository. It contains a few files. One among them is .credentials
, which contains a username and password. Start by cloning the repository and changing the directory, as shown in the following command:
$ git clone https://github.com/dvaske/remove-credentials.git $ cd remove-credentials
As we need to modify a file when rewriting the history of this repository, we'll use the tree-filter
option to filter branch. The .credentials
file looks as follows:
username = foobar password = verysecret
All we need to do is to remove everything after the equals sign on each line of the file. We can use the following sed
command to do this:
sed -i '' 's/^\(.*=\).*$/\1/'
We can now run the filter branch with the following command:
$ git filter-branch --prune...
Change the font size
Change margin width
Change background colour