关于分叉
分支是一个新存储库,与原“上游”存储库共享代码和可见性设置。 分支通常用于在向上游存储库提出想法或修改之前进行迭代,比如在开放源代码项目中,或当用户没有对上游存储库的写入权限时。 有关详细信息,请参阅“使用复刻”。
对其他人的项目提出更改
例如,可以使用复刻提出与修复 Bug 相关的更改。 无需为你发现的漏洞创建问题,你可以:
- 创建存储库分支。
- 进行修复
- 向项目所有者提交拉取请求。
将其他人的项目用作自己创意的起点。
开源软件的理念是通过共享代码,可以开发出更好、更可靠的软件。 有关详细信息,请参阅开放源代码计划上的关于开放源代码计划。
有关将开放源代码原则应用于组织在 GitHub 上的开发工作的详细信息,请参阅 GitHub 的白皮书“内部源简介”。
从其他人的项目复刻创建公共仓库时,请确保包含许可文件以确定您希望与其他人共享项目。 有关详细信息,请参阅 choosealicense.com 上的选择开放源代码许可。
为深入了解开源,特别是如何创建和发展开源项目,我们制作了开源指南,它将通过推荐关于创建和维护开源项目存储库的最佳实践,帮助你培养一个健康发展的开源社区。 还可以免费学习 GitHub Skills 课程来维护开源社区。
先决条件
如果尚未设置,请首先从 Git 使用 GitHub.com 设置 Git 和身份验证。 有关详细信息,请参阅“Set up Git”。
分支存储库
可以在 GitHub.com 上或 GitHub Desktop 中创建存储库分支。 有关对 GitHub.com 创建分支的信息,请参阅本文的 Web 浏览器版本。
在 GitHub Desktop 中,如果你克隆了一个你没有写权限的仓库,然后尝试向该仓库推送更改,系统会为你创建一个派生。
-
在“文件”菜单中,单击“克隆存储库” 。
-
单击与要克隆的仓库位置对应的选项卡。 在此示例中,我们单击“URL”选项卡。
-
输入要克隆的仓库的 URL 或路径。
-
To select the local directory into which you want to clone the repository, next to the "Local Path" field, click Choose... and navigate to the directory.
-
在“克隆存储库”窗口的底部,单击“克隆”。
-
To create a fork, attempt to push a change to the repository. For example, create a new branch and publish it. A prompt will appear asking if you want to fork this repository.
-
阅读“你打算如何使用此分叉?”中的信息 窗口中的视图相同。
- 如果计划使用此分支参与原始上游存储库,请单击“参与父项目”。
- 如果计划将此分支用于未连接到上游的项目,请单击“用于我自己的目的”。
-
单击 “继续” 。
克隆复刻的仓库
现在,你有了 Spoon-Knife 存储库的分支,但你的计算机本地还没有该存储库中的文件。
-
在“文件”菜单中,单击“克隆存储库” 。
-
单击与要克隆的仓库位置对应的选项卡。 也可以单击 URL 手动输入存储库位置。
配置 Git 以将分支与上游存储库同步
为了对上游存储库提议更改而创建项目分支时,你可以配置 Git 以将更改从上游存储库拉取到分支的本地克隆。
编辑分支
您可以对复刻进行任何更改,包括:
另找一个仓库进行复刻
复刻仓库,开始参与项目。 如果存储库和企业策略设置允许创建分支,则可以将专用或内部存储库分支到个人帐户或分支到你拥有存储库创建权限的 GitHub 上的组织。 通常,可以将任何公共存储库分支到个人帐户或分支到你有权创建存储库的组织,除非你是 具有托管用户的企业 的成员。
有关何时可以创建存储库分支的详细信息,请参阅“关于分支的权限和可见性”。
你可以浏览“探索 GitHub”,查找项目并开始参与开放源代码存储库。 有关详细信息,请参阅“寻找在 GitHub 上参与开源项目的方法”。
后续步骤
您现在已经复刻了仓库、练习了克隆复刻并配置了上游仓库。
-
有关克隆分支和从计算机同步分支存储库更改的详细信息,请参阅“Set up Git”。
-
您也可以创建一个新的仓库,以将所有项目放在 GitHub 上并共享代码。 为项目创建存储库后,可以将代码存储在 GitHub 中。 这提供了工作备份,你可以选择将其与其他开发人员共享。 有关详细信息,请参阅“仓库快速入门”。
-
GitHub 中的每个仓库均归个人或组织所有。 可以在 GitHub 上连接和关注人员、仓库和组织以与之进行交互。 有关详细信息,请参阅“在 GitHub 上寻找灵感”。
-
GitHub 有一个强大的支持社区,你可以在那里寻求帮助并与来自世界各地的人交谈。 加入 GitHub Community 上的对话。