• Track code rather than data or results. Tracking data can quickly cause a git repository to balloon in size, as git tracks not just the current files but all previous versions of all tracked files; and all results should be generated anew upon each new run.

  • Move intermediate results and pretrained models to the /data folder. These files should generally not be changed very often, if at all, and can also be quite large; placing them in the /data folder will automatically trigger their inclusion in the .gitignore ¬†file.

  • Commit early and often. Code Ocean makes this simple by having a 'commit' button directly beneath the run button. Each time you commit, you'll get a saved snapshot of all changes made in a particular session, which makes it easier to reconstruct which artifacts produced which results.

Did this answer your question?