docs/2019-11-26_access-permissions-on-github.md

2019-11-26: Access permissions for a GitHub organization

https://github.com/2DegreesInvesting/ds-incubator/issues/14

https://twitter.com/mauro_lepore

Situation

You want to propose changes to a source repo on a GitHub organization.

Set the usual plumbing

Initiate and work on your PR

Synchronize, push, and submit your PR

But something goes wrong

The set up involves too many steps.

Unless you do it systematically (e.g. with usethis) sooner or later you will forget some step.

For example, these are my most common mistakes:

What happens when you push?

  1. Your commit(s) are now in the PR branch of your fork.
  2. Your commit(s) are now in the master branch of your fork.
  3. Your commit(s) are now in the PR branch of the source repo.
  4. Your commit(s) are now in the master branch of the source repo.
  5. You fail to push and get an error.
  6. It depends on your role and permission level:

    • Roles: Owner, ..., member, collaborator.
    • Permission levels: Admin, ..., push (write), read.

Owner, billing manager & member

Organization members can have owner, billing manager, or member roles.

Owners have complete administrative access to your organization, while billing managers can manage billing settings. Member is the default role for everyone else.

Members, teams & outside collaborators

Permission levels for repositories

...

Permission levels for repositories (continued)

...

Organization owners have admin permissions for every repository owned by the organization (table).

Example

Org settings: People

An owner's privileges

Org settings: Member privileges

Repo settings: Collaborators & teams

Repo settings: Branches

Conclusion

"You do not rise to the level of your goals. You fall to the level of your systems" -- James Clear, Atomic Habits



2DegreesInvesting/ds-incubator documentation built on Oct. 13, 2021, 10:09 a.m.