有关 GitHub 仓库分支的几个问题

Git上fork后的代码仓库如何与原仓库进行同步 Git上fork后的代码仓库如何与原仓库同步 阅读详情

  众所周知,GitHub 通过 fork 成为一种超级存储库,让你可以看到 fork 网络中的所有提交,对私人仓库也是如此。举个例子:如果你(Bob)从 Alice 那 fork 了一个仓库 P,Alice 在你 fork 后使用散列 X 进行代码提交,你就可以通过 github.com/Bob/P/tree/X 访问这些提交。即使在你的 fork 被删除了以后,仍然可以通过任何分支访问提交,并且这些提交看起来将永远存在。

  GitHub 上有人发现这其中存在以下相关问题,并联系了 GitHub。GitHub 说已经知晓了问题,可以将这些问题公开。

  1

  问题 1:被移除仓库后仍然能访问这个仓库

  在被删除了访问权限后,用户仍然可以继续查看这个仓库中新的提交。这个操作的本意是想在你的访问权限被删除之前可以创建一个私有仓库。但是这样就可以让你通过哈希来访问提交。

  根据 GitHub 文档,如果你删除了某人对你的私有仓库的访问权,GitHub 将删除他们的所有分支。对于你在自己账户中 fork 的仓库来说是这样的,但是对于你在组织中 fork 的仓库来说不是这样的。

  场景:

  Alice 创建了一个私有仓库 pAlice 在 p 中添加了 Bob 的访问权Bob 创建了一个组织,叫 B-orgBob 将 p fork 进 B-orgAlice 删除了 Bob 对 p 的访问权Alice 在 p 中通过哈希 X 提交了代码通过访问 github.com/B-org/P/tree/X,Bob 能看到用哈希 X 提交的代码。

  Bob 可以通过哈希访问 P 中的提交。一旦访问到这个提交,你也可以访问其所有的 parent,但不能访问其 children。

  还有很多方法可以找到这个仓库的提交:

  如果这个仓库的所有者有一个 GitHub Pro 账号,所有分支的哈希都会显示在 Insights -> Network。GitHub 允许通过 URL 中的哈希前缀引用提交,因此可以尝试暴力破解 16^4 的哈希空间(~65k),从 github.com/B-org/P/tree/0000 到 github.com / B-org / P / tree / ffff 进行迭代(也可以考虑已有的提交)。也可以通过 GitHub API 完成,但是有一个配额限制。如果在 GitHub 注释中输入哈希值的 6 位前缀,GitHub 将自动链接到提交。目前找不到尺寸限制,似乎可以在一条注释中打包超过几千个哈希。请注意,GitHub 提到了反对滥用配额。

  请注意,这也适用于组织和团队中的私人仓库,尤其组织需要允许用户 fork 他们的仓库。

  如何检查别人是否可以访问我的仓库

  经常关注一下自己仓库的 fork 数。如果有 GitHub Pro 的账户,可以在 Insights -> Network 标签下看到用户名。

  2

  问题 2: 仓库所有者对私有仓库有永久访问权

  如果你 Fork 了一个私有仓库,并从该 fork 中删除了这个仓库所有者的访问权限,你是希望所有者无法查看你的提交的。但是,他们仍然可以从他们的仓库中查找提交的哈希并创建链接来访问你的提交(像前面提到的一样)。

  3

  问题 3:私有仓库和协作者数量的问题

  免费组织对私人仓库的数量有限制,免费用户在私人仓库中可以添加的协作者数量有限制。但是,如果免费用户将私人仓库 fork 到组织中,该组织将拥有一个新的私人仓库,那么该组织可以添加他们想要的所有协作者。

水文模型新手必看:用SWAT-CUP做参数率定,如何正确设置预热期、率定期和验证期?(附数据准备避坑指南) 本文详细介绍了使用SWAT-CUP进行水文模型参数率定的完整流程,重点解析了预热期、率定期和验证期的正确设置方法,并提供了数据准备的避坑指南。通过实操步骤和常见问题解决方案,帮助新手快速掌握SWAT-CUP参数率定的核心技巧,提升水文模型模拟精度。 阅读详情

相关推荐

海康威视摄像机SDK二次开发--提取音频保存至文件

由于最近在开发海康威视摄像头,特此记录一下如何提取音频数据,这里主要依靠语音对讲返回的音频数据,通过回调函数写入文件中,加个WAV头即可播放,编码格式可以自己设置在代码中有注释 文件结构 其中CameraInfo内容可以参看海康威视摄像机SDK二次开发–实时预览视频流保存到指定文件中 HIKSDKSaveRealData中的内容 package ClientDemo; import ClientDemo.CameraInfo; import com.sun.jna.NativeLong; import

RichardoMu的博客 3140

gitlab受保护分支不能推送问题

不能推送master分支是因为默认情况下,master分支是受保护的,受保护分支默认情况下,只允许Masters角色推送,不允许Developers推送,可以通过以下操作进行修改 一、进入项目,点击Settings(设置) 二、点击Repository(仓库),找到“ProtectedBranches”(受保护分支),点“Expand”(展开) 三、调整master分支可推送角色为“Developers+Masters” ...

Itwaldner的博客专栏 6415

github】关于分支保护

默认情况下,创建的代码仓库main分支没有保护的那么我要需要保护分支如何处理呢?

Vinca@的博客 3275

gitignore文件中添加的规则不起作用

gitignore文件中添加的规则不起作用 1、.gitignore文件已添加规则,不生效情况 1、规则中添加了*.sh告诉git忽略扩展名为.sh的文件,修改build-verison.sh后,通过git status查看,发现git依然提示build-version.sh 已经modified。 2、新添加的文件1....

Andy的博客 604

项目管理 之八 Gitee 使用问题记录

提交代码时,显示的提交记录不是自己的名字 现象: 如下图,我提交的代码显示的是 ZCShou(管理员)提交的: 原因 1: 提交者的邮箱和 Gitee 上默认的提交邮箱不一致。例如把我自己本地的 Git 配置的默认邮箱换成了 ZCShou 的。则提交后 Gitee 就会认为代码是 ZCShou 提交的。 解决: 更正自己的 Git 配置信息。 原因 2: 我们本地配置的 Git 登陆信息不正......

技术干货 1946

有关GitHub仓库分支几个问题

众所周知,GitHub通过fork成为一种超级存储库,让你可以看到fork网络中的所有提交,对私人仓库也是如此。举个例子:如果你(Bob)从Alice那fork了一个仓库P,Alice在你fork后使用散列X进行代码提交,你就可以通过 github.com/Bob/P/tree/X 访问这些提交。即使在你的fork被删除了以后,仍然可以通过任何分支访问提交,并且这些提交看起来将永远存在。GitHu...

测试 431

基于STM32的RFID停车场项目源码+全部数据(高分项目)

基于STM32的RFID停车场项目源码+全部数据(高分项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行!基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFID停车场项目源码+全部数据(高分项目)基于STM32的RFI

上一篇: Redis使用lua脚本
下一篇: 值得收藏:一份非常完整的 MySQL 规范
zouduchen
博客等级 码龄5年 2粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值