A proper .gitignore file solves all of that.
mkdir -p saves touch saves/.gitkeep git add saves/.gitkeep Then in .gitignore : renpy gitignore
saves/* !saves/.gitkeep Most Ren’Py projects have this structure: A proper
my_visual_novel/ ├── .gitignore ├── game/ │ ├── script.rpy │ ├── gui.rpy │ └── ... └── renpy/ (Ren'Py SDK – usually not committed) commit the renpy/ SDK folder. Each developer should install Ren’Py separately. If your project is open source, committing the SDK violates its license. Each developer should install Ren’Py separately
Here’s the essential .gitignore template for any Ren’Py project—plus an explanation of why each entry matters. Create a file named .gitignore in the root folder of your Ren’Py project (the same folder that contains script.rpy , gui.rpy , etc.) and paste this:
If you’re building a visual novel with Ren’Py and using Git for version control, you’ve probably noticed a lot of clutter. Compiled files, cache data, and platform-specific leftovers can bloat your repository, cause unnecessary merge conflicts, and even expose sensitive information.