gpt4 book ai didi

GitHub:我为什么要 fork ?

转载 作者:IT王子 更新时间:2023-10-29 01:26:40 26 4
gpt4 key购买 nike

我知道 fork 是在服务器端克隆存储库。但我不明白我为什么要那样做。

为什么不将原始存储库克隆到我的机器上,添加我的代码,而不是将新分支推送到 GitHub 并发出 pull 请求?

最佳答案

I understand that forking is cloning the repository on the server side [...]

差不多是这样。在 GitHub 上, fork 是一些其他 GitHub 存储库的副本,并引用了它从中复制的存储库。

enter image description here

备注:fork的概念起源于GitHub;它不是一个 Git 概念。

[...] but I don't understand why I would do that. Why not clone the original repository to my machine, add my code, then push the new branch to GitHub and make a pull request?

除非您对相关存储库具有写入权限,否则您不能简单地向其推送任何内容;服务器将拒绝您的推送,并显示以下形式的错误消息

remote: Permission to bos/text.git denied to Jubobs.
fatal: unable to access 'https://github.com/bos/text/': The requested URL returned error: 403

这就是fork 发挥作用的地方。通过 fork 其他人的 repo 协议(protocol),您将获得您具有写入权限的副本,即您可以将您的贡献推送到其中。整个工作流程是这样的:

  1. 确定 Alice 的存储库中可以改进的区域。
  2. fork 那个 repo。
  3. 在您的本地机器上克隆您的分支。
  4. 在该克隆中,进行更改、运行测试、创建提交(可能在新分支上)等。
  5. 可选地,一旦您对 Alice 的代码所做的修改感到满意,就可以使您的工作更美观:整理/压缩您的提交,编写符合 Alice 代码库风格的良好提交消息。如果爱丽丝在您 fork 她的存储库后将更改推送到她的存储库,您可能还想将您的分支重新设置为爱丽丝分支的分支。
  6. 推送到你的 fork 。
  7. 向 Alice 发出 pull 请求(本质上是通知 Alice 查看您在她的存储库的分支中所做的更改)并等待她审核。
  8. 向您的分支推送更多提交(并可能重新设置基准),直到 Alice 对您的工作感到满意为止。
  9. 如果一切顺利,Alice 会 merge 你的 pull request;你的工作被整合到她的 GitHub 仓库中。香槟酒!你的工作没有白费。
  10. 如果您近期不打算为 Alice 的存储库做贡献,您可以安全地删除您的 fork ,以节省 GitHub 服务器上的空间。另一方面,如果您经常为爱丽丝的 repo 做出贡献,请保留您的 fork 并经常将其与爱丽丝的 repo 同步。

关于GitHub:我为什么要 fork ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31209669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com