许多GitHub存储库要求在每次关键代码更改时创建一个fork。
这与git中的分支完全相同。
为什么GitHub要引入forks呢?
这与git中的分支完全相同。
为什么GitHub要引入forks呢?
(我喜欢git brunch的想法——让git用户在周日聚会,享用大量油炸食品;))
在github上fork一个项目并在你自己的仓库中进行更改的想法是,项目所有者不需要信任你或将推送权限给你。如果你希望他们考虑从你的仓库合并代码,则可以向他们发送pull request。GitHub拥有一个很好的pull request系统,其中上游开发人员可以审查和评论你的贡献。
在一群信任的开发人员中,每个人都可以推送到一个共享的仓库中,你通常会将你开发的每个新特性作为一个新的主题分支推送,并要求其他人审核你的工作并考虑将其合并。
Git的许多优点之一是,特定分支端点位于哪个存储库并不特别重要——该提交始终具有相同的SHA1校验和,因此您可以随意推送和拉取。无论它在GitHub上的一个fork中还是推送到共享存储库中,都无关紧要......
其他贡献者看到这些分支会认为上游开发人员正在处理它们,即使它们实际上是来自第三方的已经被放弃的未完成的贡献。
有趣的是,您的工作流程无论哪种方式都完全相同,只需在上游 repo 上某个时刻单击一个“fork”按钮即可添加。
对比一下:
与
对于您来说,创建一个 fork 实际上没有任何额外的负担。
如果您已经克隆了上游 repo,并且担心您必须制作一个新的克隆并浪费一些时间,请尝试此工作流程:
希望这可以帮到你!
Github的fork意味着你有一个Github仓库,因此你可以将更改推送到这个仓库。这意味着你所做的更改是可见的,并且在Github上,但原始所有者不需要包含它们。
创建一个fork为你提供了一个可写版本的仓库。
在这方面,分支与fork完全不同。一个fork可以有许多分支。