fork GitHub里的repository

翻译资料:https://help.github.com/articles/fork-a-repo/#platform-mac

fork是把github里的repository拷贝到自己的Repositories里。fork repository可以让你在不影响到原项目的情况下自由修改这个项目。

通常情况下,fork被用于向别人的项目提出修改建议;或者把别人的项目作为自己的项目,以此为起点做一些自己的修改。

向别人的项目提出修改建议

使用fork来提出修改建议的一个很好的例子,就是bug修复。与其为了您发现过的bug记录问题,您可以:

  • 先,fork一个repository。
  • 再,做出修改。
  • 最后,向项目所有者提交一个拉取需求。

如果项目所有者喜欢你做出的修改,他们可能会将你的修补程序放入原始repository中!

把别人的项目作为自己的项目,以此为起点做一些自己的修改

开源程序的核心 是通过分享代码,使我们可以制作更好,更可靠的软件。

当您从fork别人的项目来创建自己的公共repository时,请确保包含一个 许可证文件,该文件确定您希望项目与其他人分享的方式。

有关源代码的更多信息,特别是如何创建和开发一个开源项目,我们创建了 开源指南 ,通过推荐创建和维护开源项目的最佳实践,来帮助您培养健康的开源社区。

fork repository 示例

fork一个repository是简单的两步操作。我们创建了一个repository来供您练习!

             1.在GitHub上, 导航到 octocat/Spoon-Knife repository。
             2.在页面的右上角,点击 Fork。


就是它! 现在,你已经fork了octocat/Spoon-Knife的repository或者说拥有了octocat/Spoon-Knife repository的分支。

保持您的分支(fork后的repository)的同步

您可能fork一个项目,以便对上游或原始repository提出修改建议。在这种情况下,对于经常与上游的repository同步您的分支fork)来说,是很好的一个做法。为了更好地同步fork,您需要习惯使用Git命令行。您可以通过刚刚fork的 octocat/Spoon-Knife repository,来练习设置上游repository!

第一步: 设置Git

如果还没有,你应该首先设置 Git。以及不要忘了 从Git设置身份认证到GitHub

第二步: 创建fork的本地克隆

现在,你已经有一个Spoon-Knife repository的分支(fork), 但在你的电脑上没有repository的文件。让我们在你的电脑上创建一个fork的本地克隆。

             1.在GitHub上,导航到Spoon-Knife repository的 你的fork上。

             2.在repository名字下面,点击 Clone or download

             

             3.在“Clone With HTTPs”选项中,点击  来复制repository的URL。

             

             4.打开终端。

            5.键入 git clone,接着粘贴在第二步中复制的URL。 会像下面这样,然后用你的GitGub的名字代替 YOUR-USERNAME

git clone https://github.com/YOUR-USERNAME/Spoon-Knife

             6.按下 Enter 键。 你的本地克隆就会创建了。

git clone https://github.com/YOUR-USERNAME/Spoon-Knife
Cloning into `Spoon-Knife`...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (8/8), done.
remove: Total 10 (delta 1), reused 10 (delta 1)
Unpacking objects: 100% (10/10), done.

现在,你已经有了Spoon-Knife repository的分支的本地克隆!

第三步: 配置Git来同步你的分支(fork)到Spoon-Knife repository的原始代码中

当你为了向原始repository提出修改建议而fork一个项目时,你可以配置Git来从原始repository或上游repository拉取修改内容,以此来fork到你的本地副本中。

             1.在GitHub上,导航到 octocat/Spoon-Knife repository。

             2.在repository的名字下,点击 Clone or download

             

             3.在“Clone with HTTPs”选项中, 点击  来复制repository的URL。

             

             4.打开终端。

             5.修改目录为你在 第二步: 创建fork的本地克隆中的fork的本地目录。

                  要进入你的主目录,只要键入 cd 即可。

                  要列出当前目录的所以文件夹和文件,只要键入 ls

                  要进入列出的其中一个目录,键入 cd your_listed_directory

                  要走上一个目录,键入 cd ..

             6.键入 git remote -v 再按 Enter。 你会看到当前为你的分支配置过的远程repository。

git remote -v
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

             7.键入 git remote add upstream,接着粘贴你刚刚在第二步复制的URL,再按Enter键,会出现如下情况:

git remote add upstream https://github.com/octocat/Spoon-Knife.git

             8.要验证你fork的新的上游repository,请再次键入 git remote -v。 你应该会看到你的分支为 origin, 以及原始repository为 upstream

git remote -v
origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

现在,你可以用一些Git的命令来让你的fork保持与上游repository的同步。有关更多的信息,请查看 "Syncing a fork"。

下一步

天空才是你修改你的fork的极限,其中包括:

  • 建立你的分支机构: Branches 可以让你建立一些新的功能或测试创意,而不会让你的主项目处于风险之中。
  • 打开拉取需求:如果你希望从回馈到原始repositoryk中,你可以发送一个请求给原始作者,让你通过提交 拉取请求 来将你的拉入他们的repository。

找到另一个repository来fork

fork一个repository来开始为项目做贡献。你可以fork任何公共的repository或者一些你可以访问的私有的repository。有关更多信息,请查看 "About forks"。

你可以浏览 Explore 来查找项目并开始贡献开始repository。有关更多信息,请查看 "Finding open source projects on GitHub."

庆祝

你现在已经fork了一个repository,已经练习了你的fork的克隆,还有配置了上游的repository。下一步你该做什么呢?


猜你喜欢

转载自blog.csdn.net/u013654125/article/details/79908861