Replies: 5 comments 5 replies
-
I am currently reading a book about Git. It has a great chapter about workflows for multiple contributors - https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows. It also has recommendations regarding commit messages. Like @cjgrady said, having everyone fork the main repository and create topic branches seems to be the best practice for small teams. Here is the full workflow:
If you are working on several topic branches at the same time, you don't need to create a separate fork for each, but make sure to create topic branches off |
Beta Was this translation helpful? Give feedback.
-
Also, what is your opinion on having long-running pull requests? For example, as soon as we create a topic branch, you create a pull-request for it. Then, additional pushes to the topic branches would update the pull request. This would allow to easily see what everyone is working on on the topic branches. Additionally, it would run checks on the code (if we configure GitHub Actions to run on pull-requests). Finally, pull-requests encourage asking questions and adding comments to the code. Pull-requests that are not ready to be merged can contain [WIP] in their name (work in progress). Or, they can be marked as draft pull requests (GitHub has that feature when creating a new pull request) Once it is ready to be merged/rebased, the pull request can be closed. Here are some examples: @cjgrady @zzeppozz are you okay with embracing this practice? |
Beta Was this translation helpful? Give feedback.
-
GitHub's issues can have labels, milestones and projects. All of those things can be very helpful for keeping track of the things left to do and setting deadlines Here is an example: I would try creating an issue for each bug from now on. Also, adding some labels/milestones and projects can be useful. |
Beta Was this translation helpful? Give feedback.
-
https://docs.python-guide.org/writing/structure/ has some good advice for best practices for a number of issues.
I think that the repository structure recommendations are particularly useful.
For docstrings, we have tried following the Google example and I think that works well. Additionally, it works with sphinx for user documentation. https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
I am still looking for CI recommendations. I have used travis a lot in the past but Lifemapper is still locked out as of 2021-03-25.
Beta Was this translation helpful? Give feedback.
All reactions