# Reset incarnation There is an option to reset an incarnation by removing all customizations that were done to it and bring it back to a pristine state as if it was just created freshly from the template. By default, the target version and data is taken from the last change that was successfully applied to the incarnation, but they can be overridden. For the data, partial overrides are also allowed. ## Ignore some files from reset Sometimes, you want to keep some files in the incarnation that were created or modified after the initial creation of the incarnation. For example, you might have a `pipeline.yaml` which is created by different process. To achieve this, you can create a file called `.fengine-reset-ignore` in the root of your incarnation repository (that is about to be reset) and add the path to the file you want to preserve. Additionally, if you need to ignore identical files across all incarnations, you can add .fengine-reset-ignore to your template. This file will propagate to all incarnations through foxops' usual synchronization mechanisms. That's actually the expected usecase otherwise the `.fengine-reset-ignore` file would be also deleted/overwritten during reset. This file should contain a list of file paths (one per line) that should be ignored during the reset process. ### Examples #### Ignoring top-level files and directories To ignore files or directories at the root level: ``` pipeline.yaml config/ .env ``` This will preserve `pipeline.yaml`, the entire `config/` directory, and `.env` during reset. #### Ignoring specific nested files You can also ignore specific files within directories while still allowing other files in the same directory to be reset: ``` example/file1 config/secrets.yaml src/generated/api.py ``` With this configuration: - `example/file1` is preserved, but `example/file2` would be deleted - `config/secrets.yaml` is preserved, but other files in `config/` would be deleted - `src/generated/api.py` is preserved, but other files in `src/generated/` would be deleted #### Combining top-level and nested exclusions You can mix both styles: ``` .env config/ src/custom/special_file.py docs/generated/api-reference.md ``` This will: - Preserve the entire `config/` directory - Preserve `.env` at the root - Preserve only `special_file.py` in `src/custom/` (other files in that directory will be deleted) - Preserve only `api-reference.md` in `docs/generated/` (other files will be deleted)