diff --git a/docs/git/goodgit.md b/docs/git/goodgit.md index 37de4ad..232569b 100644 --- a/docs/git/goodgit.md +++ b/docs/git/goodgit.md @@ -16,24 +16,43 @@ They are for the final code that will come with your MSc thesis. - [ ] there should be a README file that indicates - - [ ] the purpose of the project, what the code is for, - - [ ] installation instructions - - [ ] example usage - - [ ] aPI documentation (if this applies) + - the purpose of the project, what the code is for, + - installation instructions + - example usage + - API documentation (if this applies) -- [ ] the README should be a text file (and not a binary file like Word) -- [ ] there should be a [LICENSE file](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository). [Help with choosing a license](https://choosealicense.com). +- [ ] the README should be a text file (`readme.md` or `readme.txt`), and not a binary file like Word +- [ ] there should be a [LICENSE file](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository). ([Help with choosing a license](https://choosealicense.com)) - [ ] there should be a [CITATION file](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files) that tells users how to site the project, data, and code -- [ ] a `changelog.md` detailing the changes between the releases should be available ([help with changelog](https://keepachangelog.com/en/1.0.0/)) +- [ ] a `changelog.md` detailing the changes between the releases should be available ([help with changelog](https://keepachangelog.com/en/)) - [ ] there should be clear guidelines for third-parties wishing to: (1) contribute to the software; (2) report issues or problems with the software; (3) seek support ## Organization - [ ] folders should be used to separate data, code, documentation, and results + + - it is the custom to put all source code in `/src` + - and `/test` for unit tests + - but each language will have different setups and habits - [ ] the files should use a consistent naming scheme that indicates what they contain +## Files that should **not** be added to the repository + +All files that are created by compiling/running code should **not** be added to the Git repository. + +You can [configure you repository to ignore files](https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files) (so that you don't see them as modified and not committed to the repository). + +Examples of files to ignore: + + - `*.pyc` for Python + - `*.aux` for LaTeX + - `*.pdf` for LaTeX + - `/build` the whole build folder for C++ + + + ## Software - [ ] there should be releases to package the software ([how to create a release](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases)) diff --git a/docs/git/img/ellie.png b/docs/git/img/ellie.png new file mode 100644 index 0000000..cb4b41e Binary files /dev/null and b/docs/git/img/ellie.png differ diff --git a/docs/git/img/fabian.png b/docs/git/img/fabian.png new file mode 100644 index 0000000..ba46810 Binary files /dev/null and b/docs/git/img/fabian.png differ diff --git a/docs/git/img/noortje.png b/docs/git/img/noortje.png new file mode 100644 index 0000000..dc0d6ff Binary files /dev/null and b/docs/git/img/noortje.png differ diff --git a/docs/git/img/zhaiyu.png b/docs/git/img/zhaiyu.png new file mode 100644 index 0000000..fbc9723 Binary files /dev/null and b/docs/git/img/zhaiyu.png differ diff --git a/docs/git/msccode.md b/docs/git/msccode.md new file mode 100644 index 0000000..74fc755 --- /dev/null +++ b/docs/git/msccode.md @@ -0,0 +1,15 @@ + +# MSc thesis code in Git + +Following the [open science requirements](https://3d.bk.tudelft.nl/courses/geo2020/openscience/), it is now mandatory to release your code as open-source and to document it. + +You should first make sure that you have [all the ingredients of a good Git repository](/git/goodgit/), and then you can have a look at 4 good examples of repositories from MSc students: + + +[![](./img/fabian.png){:width="300px"}](https://github.com/fabisser/stylesdf) +[![](./img/noortje.png){:width="300px"}](https://github.com/NoortjevanderHorst/treegrowthmodelling) +[![](./img/ellie.png){:width="300px"}](https://github.com/ellieroy/no-floors-inference-NL) +[![](./img/zhaiyu.png){:width="300px"}](https://github.com/chenzhaiyu/points2poly) + + +