103

我是 git 和 github 的新手。我在 github 上建立了一个 repo,我可以将本地的东西推送到这个远程 repo。现在问题来了:就在我将某些内容推送到远程仓库并刷新页面之后,我可以看到更改已上传(例如,如果我编写了一个 readme.txt 并将其推送到远程仓库,其中这样的readme.txt 不存在,推送刷新页面后出现)。

那么任何人都可以自由更改我在 github 上的 repo 吗?或者,如果我将某些内容推送到 linux 内核,我所做的更改是否可以添加到其中并对所有人公开?

4

3 回答 3

98

不,所有存储库对匿名用户都是只读的。默认情况下,只有存储库的所有者具有写入权限。如果您可以推送到自己的存储库,那是因为您使用了一种受支持的身份验证方法(HTTPS、SSH、...)。

如果您想授予其他人推送到您的仓库的权限,您需要在项目设置中配置该访问权限。

要为您没有推送访问权限的项目做出贡献,请推送到您自己的存储库副本,然后请求拉取请求。Linux 不是一个很好的例子,因为内核开发人员不使用 GitHub 拉取请求。

于 2013-07-03T08:25:46.157 回答
40

不,但如果存储库是公开的,其他人可以分叉它,提交到他们自己的分叉。

然后,他们可以要求您通过拉取请求将其分叉中的一些更改拉入您的存储库。

于 2013-07-03T15:05:55.080 回答
39

如果您尚未授予他们写访问权限,则没有人可以直接推送到您的存储库。

为 GitHub 中的公共存储库做出贡献的过程首先是对存储库进行分叉,然后将更改推送到分叉上,然后在原始存储库上创建拉取请求。之后,项目所有者的角色是审查并采取行动(合并/拒绝)请求的代码更改。

有关更多详细信息,请查看以下有用的文章:

https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project

于 2017-05-06T21:58:19.377 回答