我是git和github的新手。我在github上设置了一个repo,我可以把本地东西推到这个远程仓库。现在问题是:在我将某些内容推送到远程仓库并刷新页面后,我可以看到更改已上传(例如,如果我写了一个readme.txt并将其推送到远程仓库,那么这样一个readme.txt不存在,在推送和刷新页面后,它出现了。)
那么有人可以自由地在github上更改我的回购吗?或者,如果我将某些内容推送到Linux内核,我所做的更改是否可以添加到所有内容并公开发布?
答案 0 :(得分:65)
不,所有存储库对于匿名用户都是只读的。 默认情况下,只有存储库的所有者具有写访问权限。如果你可以推送到自己的仓库,那是因为你正在使用一种支持的身份验证方法(HTTPS,SSH,...)。
如果您想授予其他人权限以推送您的回购,您需要在项目设置中配置该权限。
要为您没有推送权限的项目做出贡献,您可以推送到您自己的回购副本,然后请求提取请求。 Linux不是一个很好的例子,因为内核开发人员不使用GitHub拉取请求。
答案 1 :(得分:25)
不,但如果存储库是公共的,其他人可以分叉它,提交自己的fork。
然后他们可以要求您通过pull-request将其fork中的一些更改提取到您的存储库中。
答案 2 :(得分:16)
如果您尚未授予他写入权限,则没有人可以直接推送到您的存储库。
在github中为公共存储库做贡献的过程首先分配存储库,然后将更改推送到分叉,然后在原始存储库上创建拉取请求 。之后,项目所有者将负责审核并采取所请求的代码更改的操作(合并/拒绝)。
有关详细信息,请查看以下有用的文章:
https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project