Skip to content

Commit 89acc82

Browse files
committed
Minor (add notes on .gitignore)
1 parent 6a5f9ff commit 89acc82

2 files changed

Lines changed: 17 additions & 9 deletions

File tree

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Ignore everything in results by default
2+
results/*
3+
4+
# But track these subfolders
5+
!results/01_first_experiment/
6+
17
# VS Code
28
.vscode/
39

README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,10 @@ extended (for example with automated formatting).
3131
- **Continuous Integration:** Whenever code changes are made, it is useful to
3232
automatically check whether everything still works. This process is called
3333
*Continuous Integration (CI)*. This template includes a GitHub workflow in
34-
`.github/workflows` that automatically creates a virtual environment,
35-
installs the project dependencies and runs the tests using `pytest`. If
36-
something fails, the workflow reports the error. CI also ensures that all
37-
required dependencies are explicitly listed, which is important for
38-
reproducibility.
34+
`.github/workflows` that automatically creates a fresh environment, installs
35+
the project dependencies and runs the tests using `pytest`. If something
36+
fails, the workflow reports the error. CI also ensures that all required
37+
dependencies are explicitly listed, which is important for reproducibility.
3938

4039
- **Clean Code:** Of course, writing clean and readable code is always
4140
beneficial. Some useful principles include:
@@ -60,7 +59,7 @@ The repo is organized into four main folders.
6059
tests. These files live in `source/our_library`. This folder can be installed
6160
as a local Python package via `pip install -e .`. This is nice because after
6261
installation, functions can be imported in experiments like this `from
63-
research_lib.some_functions import add_10`.
62+
our_library.some_functions import add_10`.
6463

6564
The `source` folder also contains a `tests` directory for automated testing.
6665
A useful convention is to mirror the structure of the library and the tests.
@@ -75,8 +74,11 @@ The repo is organized into four main folders.
7574

7675
- **`results`:** The `results` folder stores outputs generated by experiments.
7776
Its structure mirrors the `experiments` folder. Typical outputs include
78-
plots, tables, trained models or intermediate data. Larger files can either
79-
be excluded from git with a `.gitignore` file or tracked with Git LFS.
77+
plots, tables, trained models or intermediate data. As results can be large,
78+
we exclude the content of the `results` folder from git tracking by default.
79+
However, if your files are small, you can tell git explicitly to track the
80+
subfolder via `!results/01_first_experiment/` in the `.gitignore` file. An
81+
alternative for large files is to use Git LFS.
8082

8183
- **`documentation`:** The `documentation` folder contains project
8284
documentation. Currently it includes a minimal LaTeX paper template in
@@ -132,4 +134,4 @@ Some tasks to get you started:
132134
in the paper.
133135
8. **Adapt and Extend:** Adapt and extend the template as needed for your own
134136
research project. For instance, you might want to rename the virtual
135-
environment and the `our_library` folder.
137+
environment and the `our_library` folder.

0 commit comments

Comments
 (0)