2

For example, I would like to know how a project member is being configured:

How do you decide who can push code and who can not?

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
Elvin
  • 363
  • 1
  • 2
  • 8
  • https://git-scm.com/book/en/v1/Distributed-Git-Distributed-Workflows – choroba Jun 05 '19 at 09:22
  • Github is a glorified proprietary frontend for git. Git does not need it. That being said, I don't really understand the purpose of your question. What are trying to solve? – k0pernikus Jun 05 '19 at 09:23
  • Possible duplicate: https://stackoverflow.com/questions/13321556/difference-between-git-and-github – k0pernikus Jun 05 '19 at 09:26
  • 1
    Github is just a server/remote. There are other remotes like gitlab. A private server could have been used. – dan1st Jun 05 '19 at 09:27
  • 1
    Related: https://stackoverflow.com/questions/11816424/understanding-the-basics-of-git-and-github – k0pernikus Jun 05 '19 at 09:28
  • If you are looking for a git web ui with user management support that you can host locally, you may want to look into: [GitLab](https://git-scm.com/book/en/v2/Git-on-the-Server-GitLab). – k0pernikus Jun 05 '19 at 09:31

1 Answers1

2

If what you are trying to solve is the authentication/authorization in Git, said Git does not have any, as I mentioned here.

That means a Git repository hosting service, like GitHub, is free to implement its own authorization strategy, as documented in "Access permissions on GitHub"
GitLab has its own set of rules.

Should you manage your own Git repository service, you would need to add:

  • an authentication layer (SSH or HTTPS server)
  • an authorization layer (like gitolite)
  • or both in one product (gitea, or many others)
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • 1
    Without setting authorization through GitHub's API, by default anyone who can clone can also push, am I correct? – Elvin Jun 05 '19 at 10:04
  • 1
    Sort of correct. Like @VonC mentioned is GitHub a service that adds a permission system on top of git. If you were to run your own server with git installed and would decide to share the access to a repo, then everyone with access to that server/repo would be able to clone and push. See the [git book](https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server#_ssh_access) for more information – Tom Jun 05 '19 at 11:17
  • 1
    @Elvin Yes: if you have remote access to a Git repository (through one of the [Git supported protocols](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols), like filesystem share, SSH or HTTPS, you can clone and push back. I have edited the answer to add gitolite. – VonC Jun 05 '19 at 11:48
  • Thanks so much for this! It's a very clear and helpful explanation. – Elvin Jun 05 '19 at 14:12