Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I "Censor" the history of a git repository?

I currently have a personal git repository for some software that I have been working on. The repository used to contain personal information of other people in some of the configuration files, which I have in git because they are useful to tracked and help document how the configuration file works. The git repo also shows how the configuration file has changed over time, in terms of which version requires what. I've recently had the desire to publish the project onto github, so I created a branch and removed the personal information from the head, replacing each item with placeholders.

Aside from going back to each revision and "changing history", is there a way for me to "censor" the old information in all occurances (change it all at once) by replacing it with the new information in all occurrences, so if somebody were to roll it back, they would see the placeholders rather than the personal information?

like image 254
DavidJFelix Avatar asked Sep 09 '12 04:09

DavidJFelix


1 Answers

You can run a git filter-branch on it which will modify the history of the branch and remove what you want. Then you could just add an example (placeholder) file in its place. Check out github's remove-sensitive-data help page

like image 78
Chris McKnight Avatar answered Oct 13 '22 22:10

Chris McKnight