前端之家收集整理的这篇文章主要介绍了
github标准pull request提交流程,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<table class="text"><tbody><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
修改,因为
修改的只是一个拷贝工程,所以不会影响原项目。
流程:选择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