Skip to content

Commit 75e921a

Browse files
committed
draft episode on group work; closes #26
can and will be improved but an ok start
1 parent 38beed4 commit 75e921a

File tree

1 file changed

+48
-3
lines changed

1 file changed

+48
-3
lines changed

group-work.md

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,56 @@ questions:
1616

1717
---
1818

19-
## Step X: Contributing non-trivial changes
19+
## GitHub organizations
2020

21-
Submit a larger change using GitHub Desktop. As an example our task will be to
22-
add a new file (in our case a taco recipe) to the exercise repository.
21+
Should I start a repository under my account or open a new organization?
22+
- Single-person projects often start under own account.
23+
- If is no problem to move a project from own namespace to an organization later.
24+
- When starting a larger project with several people, possibly several affiliations, an organization may be a better start.
25+
- If this is a GitHub pages project, then it will matter for the URL:
26+
`myuser.github.io/myproject/` vs. `ourorg.github.io/ourproject/`.
2327

28+
Should I add everybody as collaborator?
29+
- If you are a handful of project collaborators it probably makes sense to add everybody as collaborators.
30+
- But one does not have to be a *collaborator* to contribute (anybody can send contributions to public projects).
31+
- External contributors don't have to be added.
32+
33+
---
34+
35+
## Organizational permissions
36+
37+
- Organizations have **owners** and **members**.
38+
- Owners can add more members and delete repositories.
39+
- Members can also be organized into teams.
40+
- We recommend to write-protect the default branch and protect it against force-pushes and accidental deletions.
41+
42+
---
43+
44+
## GitHub or GitLab?
45+
46+
- GitHub: probably better integrations (with services like Zenodo), probably more visibility (more users).
47+
- GitLab: more features, you can also self-host, more advanced continuous integration.
48+
49+
---
50+
51+
## Direct commits or pull requests?
52+
53+
- For single-person projects: direct pushes.
54+
- If you have somebody who can help you with code review: use pull requests.
55+
- For projects with 2 or more persons: agree on applying all changes via pull requests
56+
and create a new branch for every change.
57+
58+
---
59+
60+
## Small vs. large changes
61+
62+
- For larger changes first open an issue and describe your idea and collect feedback.
63+
- Alternative: if you already have a larger change half-finished but you are unsure whether you are on the right
64+
track, open a **draft pull request**. These are meant to share unfinished drafts and collect suggestions.
65+
66+
---
67+
68+
## Optional exercise contributing larger changes
2469

2570
### Note to instructors
2671

0 commit comments

Comments
 (0)