使用下面的资源来在 Metasploit 框架的 Git 仓库上工作。


fork 这个概念是指你可以对一个仓库进行一个快照,并且存储至你自己的仓库,你可能是在 github.com 网站上进行这个操作。并且通常情况下你是对主分支进行快照,而且你会将你的 fork 克隆到本地机器。

然后你可以创建你自己的分支(译者注:branch),这些你自己创建的分支(译者注:branch)属于你的 GitHub 的仓库(译者注:你在 GitHub 上 Fork 的仓库是原始仓库的一个 fork,而不是 branch,这两个单词意思有点接近,需要注意区分一下)。这些快照即使被推送到你的 GitHub 也不是原始代码库(这里特指:rapid7/metasploit-framework)的一部分。

接着,当你一个提交了一个 Pull Request,你的分支(译者注:branch)(通常情况下)将会被拉取到源仓库的 master 分值(一般情况下是这样... 但是如果你的代码对仓库有巨大的修改或者其他原因,你可能会被拉到一个实验性的分支中,但是这种情况并不是典型情况)

你只需要进行 一次 fork 操作,您可以不限次数将代码克隆您想要用来编码的机器,并且您的分支(译者注:branch)、提交(译者注:commit)和推送(译者注:push)(当然您并不总是必须推送,您可以稍后推送或不推送,这完全可以,但是在创建 Pull Request 之前,你必须先将你的本地修改 Push 到远程仓库,也就是 GitHub 上你的远程仓库),然后在你准备好时提交一个 Pull Request(译者注:有时简写为 PR)。 见下文

github.com/rapid7/metasploit-framework --> fork --> github.com/<...>/metasploit-framework
    ^                                                          |
    |                               git clone git://github.com/<...>/metasploit-framework.git
    |                                                          |
    `-- accepted <-- pull request                              V
                      ^                        /home/<...>/repo/metasploit-framework
                      |                                |              |          |
   github.com/<...>/metasploit-framework/branch_xyz    |              |          |
                      |                                |              V          V
                      |                                V           branch_abc   ...
                      `--       push       <--      branch_xyz

感谢 kernelsmith 的卓越描述

点击收藏 | 0 关注 | 1
登录 后跟帖