github

作者: 素然年华 | 来源:发表于2017-02-15 10:16 被阅读0次

《Forking工作流》

《Pull Request工作流》

《Git工作流指南》

知乎https://www.zhihu.com/question/20431718

github标准pull request提交流程

1、fork开源项目的分支。

2、这时候自己的项目里面多了一个工程。这个工程是原项目的拷贝,你可以在这个项目里面做任意你所需要的修改,因为修改的只是一个拷贝工程,所以不会影响原项目。

流程:选择Clone or download,拷贝链接,

使用命令:git clone xxx(链接)到本地。这个项目就是上面所说的项目拷贝。

3、这时候我们就会有需求了。如果我们fork的项目有更新怎么办呢?我们拷贝的只是一个原版,后面更新的内容自然是没有的。

如果你说重新再fork这个项目的话,自然也是没有问题的,只不过这样是不是有点太low了,而且如果我们在fork的项目里面做了改动呢?

解决方式是添加远程分支:

git remote add upstream https://github.com/alibaba/freeline //添加远程分支,upstream名字自定义

git fetch upstream//拉取远程分支。

切换到想要更新的目录,合并分支

git merge upstream/master  //把远程分支的master分支合并到当前分支,这样远程项目中的修改就合并到了本地。

4、最后,我们的需求是修改了内容,想要合并到人家的分支上了。

一般来说,别人合并分支是希望有一个干净的提交,即如图这样的提交。自己的commit基于远程项目最新commit之后。

所以目前比较推荐的做法是新创建一个分支,拉取fork项目的最新代码,但是把自己的提交cherry-pick到这个分支上。最后push到自己的fork项目中,最后申请pull request。

流程:

git checkout -b mmmmm_master upstream/master//创建新分支,并指向fork项目的master分支

git checkout mmmm_master//切换到原有的分支中,这个分支中存储着我们修改的内容的commit。

git log//查看commit,copycommit

git checkout mmmmm_master//切换回新分支

git cherry-pick 0b0eadf36e22e6f682c852458a379b0acd93cdf2//把提交拉取到新分支

git branch -vv//查看一下分支对应情况,确保push的分支指向是对的。

git push origin mmmmm_master//推送分支到自己fork的项目中。

最后一步,打开网站,切换到最新分支,点击New pull request,填写内容,申请就好了。

收尾工作:

我们提交了之后这个分支其实就没有什么用处了。我们可以删掉这个分支:

git push origin :mmm_master

相关文章

  • GitHub--加入GitHub

    上一篇我们讲述了GitHub的基本概念,下面我们来讲述如何创建GitHub用户。推荐阅读:GitHub--初识Gi...

  • GitHub--初识GitHub

    说老实话,我目前还是个GitHub菜鸟,哈哈!还处于从GitHub上面Clone代码的阶段。当初,只是不断听别人说...

  • Github Visualization / Github 数据

    [TOC] Github Visualization / Github 数据可视化 网站链接: https://s...

  • GitHub之初识GitHub

    GitBub是什么,我就不阐述了,那么,我开始吧。 1 创建账户 首先,打开GitHub,出现如下所示: 右侧上角...

  • Github平台 加入Github

    那么多的不说,我继续更新。 为了更好的使用Github,第一步去了解这个平台是重要的。 因此这篇我将针对Githu...

  • 【GitHub】我的GitHub

    应大家要求,已将前期一些代码传至GitHub。用户名:ququcai,地址:https://github.com/...

  • 【GitHub】GitHub的使用

    基本指令 配置自己的身份:git config -- global user.name "Tony"设置自己的名字...

  • [ github ] github clone private

    当前前提: 1: 拥有github登陆账号2: mac电脑 本文所述: 1: 创建一个新的私有工程2: 配置ssh...

  • github - github注册(一)

    前言 github面向开源及私有软件项目的 托管 平台github是 分布式 的 版本控制 系统微软收购githu...

  • Github

    1.在命令行中,输入“git init”,使Test文件夹加入git管理;2.输入“git add .”(不要漏了...

网友评论

      本文标题: github

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