Git pre and post commit hooks to remove values for private variables.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

  • Linux: Build Status

Git pre and post commit hooks to remove values for private variables during commits. Before the files are commited, the pre-commit hook copies the original files to a temporary backup directory outside of the Git repository and then removes the values for specified variables. For example, the value of any variable that ends with _secret will be replaced with replace_me before it is commited. After the commit, the modified files will be restored using the files that were backed up.


Copy the pre-commit, post-commit hooks the and the py-hook files to the git_hooks directory. Modify the pre-commit and post-commit hooks with your paramaters.


Modify the command listed in pre-commit as follows:

"pre" "source directory" "../backup directory" ".file extension" "_secret:.*" "_secret: replace_me"

Note 1: The variables that you want to replace the values for should be tagged with an identifier such as _secret. For example: api_key_secret: API_key will be replaced with api_key_secret: replace_me.

Note 2: Regular Expressions are used with to find the value to substitute / replace. For example if you use: _secret:.* , the content of the line starting with _secret: will be replaced be replaced with replace_me. If you use .* regular expression, you may want to use something link this: "_secret:.*" "_secret: replace_me"

Regex Cheat Sheet

Note 3: If the text file does not have an extension, you should use "" as the paramater.

Note 4: The backup directory must not be in the git repository and as a safeguard, the paramater must include .. at the beginning. For example: "../backup.dir


Modify the command listed in post-commit as follows:

"post" "source directory" "../backup directory"