我的首次开源贡献:Fork 代码仓库

先克隆代码仓库还是先 Fork 代码仓库?
68 位读者喜欢这篇文章。
User experience vs. design

Opensource.com

之前,我解释了 我最终如何选择一个项目 来贡献。一旦我最终选择了那个项目和要处理的任务,我就感觉困难的部分已经结束,我进入了巡航控制模式。我知道下一步该做什么,毫无疑问。只需克隆代码仓库,以便我的电脑上有代码,为我的工作创建一个新分支,然后开始编码,对吧?

结果证明,我在这步犯了一个至关重要的错误。不幸的是,直到几个小时后,当我尝试将完成的代码推送回 GitHub 并收到权限拒绝错误时,我才意识到自己犯了一个错误。我的第三个错误是尝试直接从代码仓库的克隆版本工作。

当你想为别人的代码仓库做贡献时,在大多数情况下,你不应该直接克隆代码仓库。相反,你应该 Fork 代码仓库并克隆 Fork 后的仓库。你在你的 Fork 的一个分支上完成所有工作。然后,当你准备好发起 Pull Request 时,你可以将你的 Fork 上的分支与原始代码仓库的 master 分支进行比较。

在此之前,我只在自己创建或拥有协作者权限的代码仓库上工作过,所以我可以直接从主代码仓库的克隆版本工作。我没有意识到 GitHub 甚至提供了从代码仓库的 Fork 向原始代码仓库发起 Pull Request 的功能。现在我了解了一些关于这个选项,这是一个非常有意义的特性。Fork 允许项目向任何拥有 GitHub 账户的人开放贡献能力,而无需将他们都添加为“贡献者”。它还有助于保持主项目整洁,因为它将大多数新分支放在 Fork 上,这样它们就不会造成混乱。

我希望在开始编写代码之前就知道这一点(或者,在本例中,是在完成代码编写之后,因为我直到最后才尝试将任何更改推送到 GitHub)。将我的更改从我最初工作的主代码仓库转移到 Fork 中并非易事。

对于那些刚入门的人,这里是在你不拥有的或你不是协作者的代码仓库上发起 PR 的步骤。我强烈建议在深入编码之前尝试将你的代码推送到 GitHub,并至少完成创建 PR 的步骤,以确保你已正确设置一切。

  1. Fork 你选择贡献的代码仓库。
  2. 从 Fork 后的仓库中,单击Clone or download(克隆或下载)以在你的计算机上创建副本。

    可选: 将基础代码仓库添加为远程“upstream”,如果你想将基础代码仓库中的新更改拉取到你的 Fork 中,这将很有帮助。
  3. 从你的 Fork 上的分支向基础代码仓库的 master 分支创建一个 Pull Request。
接下来阅读
User profile image.
Galen 是纽约市 Simple Health 的高级软件工程师。她喜欢写作(为计算机和人类)、举重和猫。@galenemco

评论已关闭。

© . All rights reserved.