美文网首页
git的fork工作流

git的fork工作流

作者: 那杯咖啡没加糖 | 来源:发表于2020-05-20 23:06 被阅读0次

    什么是fork

    fork通常来说,就是copy。例如:某一个团队开发了一个项目ProjectA,并上传到了github上,这时小明看到了该项目,并且很感兴趣,也想贡献自己的一份力量,但是小明并不能直接把自己的修改直接merge进去,于是就出现了fork,小明可以复制一份该项目的代码到自己的github上,这样他就可以在自己的github仓库中修改代码,当修改完代码后,他可以提交pull request(PR),当该团队成员看到了小明的PR,会有专人审核该PR,如果觉得ok,那么就可把小明贡献的代码merge进来,这样就完成了共同协作开发。

    fork工作的流程

    下面以AVBlog为例来说明:

    1. 点击smartyuge/ AVBlog项目的fork


      image.png
    2. 自己的github中就会出现该项目LuckeX / AVBlog


      image.png
    3. 使用git clone把自己仓库中的项目clone到本地

    4. 在本地添加upstream的地址
      使用 git remote add upstream [url] ,其中,upstream是项目url的简称,方便记忆,你可以随便自己起

      image.png
    5. 代码贡献
      一般开发新功能或者修复bug都会另新建branch来写代码,然后merge进master分支。

    git fetch upstream # 取回upstream远程仓库的所有分支
    git rebase master # 将取回的分支中的master分支变基到当前分支(我的当前分支是master)
    git checkout -b add_features # 使用当前分支来创建新的分支add_features,并切换到该分支
    vim Test.md # 这是我修改的,添加了Test.md文件
    git add Test.md #添加到暂存区
    git commit -m "add Test.md" #commit 一下
    git push origin add_features # 把当前commit推送到origin的add_features分支(如果没有该分支,则会创建)
    

    当完成以上时,打开github会出现:

    image.png

    切换到add_features,点击New pull request:

    image.png

    注意:我们是从master分支创建的基础分支,然后修改代码,所以我们的add_features分支对用的是upstream/master。再点击Create pull request就可以提交pr了(通常上图的右边会有reviewer,需要reviewer approve才能merger你的pr)。

    1. 最后就是删除刚刚创建的本地和远程分支了
    git branch -D add_features # 删除本地add_features分支
    git push origin :add_features # 删除远程origin仓库add_features分支,因为这相当于把空的分支push到origin/add_features,就是删除啦
    

    相关文章

      网友评论

          本文标题:git的fork工作流

          本文链接:https://www.haomeiwen.com/subject/sbmoohtx.html