登录 立即注册
安币:

查看: 80|回复: 6

如何更好地玩转 GitHub?

[复制链接]

196

主题

197

帖子

3905

安币

手工艺人

发表于 2019-1-10 14:57:57 | 显示全部楼层 |阅读模式
在GitHub上更新Fork
经常遇到的是Fork一个项目之后,源项目的作者做了新的更改,如果没有同步到我自己的Fork,我所做的更新进行Pull Request后,会产生冲突;因此在更新文件之前、至少是Pull Request之前,应当要更新自己的Fork的。
更新Fork的方法有很多,Git写代码是很好的,当小白通常比较难做,步骤缺了就经常不奏效;所以我自己亲测了一个GitHub上更新Fork的方法,做一个教程,与朋友们共勉;废话少说,步骤如下。
一、进入自己Fork来的项目,按New Pull Request按钮,新建一个Pull Request(简称:PR)。
03e6cd814cf74574bae9adaf3199d05c.jpg

二、如果自己还没有修改过Fork项目的文件,那么此时可以点击switching the base,切换到基于我自己的Fork项目。
51c1747df94f4da8aaf9ff484ffd4c4f.jpg

如果已经修改或更新过Fork项目的文件,那么可以通过选择Base Fork和Head Fork来从源项目更新到我自己的Fork项目。
84c143adf918406492422b05e0c2dfd2.jpg

922ade7339ed41fe83045f073b500090.jpg

这里有个小技巧:在默认状态下,会是Base源项目,Head我自己的Fork项目;这样选择任何一个时,会调到某个无法更新的页面;解决方法是先Base或Head一个其他人的账号下的Fork,接着选择Head/Base源项目或我自己的Fork项目,这样就不会出现Base和Head都是自己或者都是源项目的情况。
三、Base和Head设置完,就进入Comparing Changes页面,确认一下Base和Head,以及最新的更新内容。
940d7918de524499b98ac9580bd2d7ca.jpg

内容没问题就Create PR了,即上图绿色箭头所指向的绿色按钮;接着输入主题,Create。
ffaab1066bf04eb7ae33e8637f30e03a.jpg

四、新Create的PR在哪里可以找到呢?进入我自己的Fork项目,导航条上的PR进入,看到Open的有一个,就是刚才更新的。


点击进入确认一下。
7731c1cd29cd48739af7da014f9e784c.jpg

五、把源项目的更新Merge到我的Fork项目。
bd2ec0f4b698402493dbb3328f00d098.jpg

Confirm Merge,确定这个更新;


可以看到,这个PR已经更新完成,呈紫色的Merge状态。
bd9b9e2482df406a92103d9a6a60d802.jpg

六、最后验证一下是否更新到最新的项目,因为已知是更新了Pattern Recognition,所以直接进入。
6ea0c4a670954d8e8ff10ae52b15728b.jpg

查看到下面5个是最新修改的,15个小时之前修改了内容。
5c9fc6fd8cf94bf2917511be825a3fe0.jpg

至此整个更新Fork的方法步骤已完成,玩得愉快!
将更新的Fork项目PullRequest给源项目
我们Fork项目之后进行了修改或添加新文件,需要Pull Request(简称:PR)给源项目,让作者Merge融入到他的源项目里。
在PR之前,甚至开始修改或创建新文件之前,先看看源项目是否有更新,如有更新,可按第一部分内容,先更新自己的Fork项目,再做创建新文件,老司机说这样冲突比较少。
一、看到别人的好项目,如何“据为己有”?Fork一下咯!
2a40275ca8374c148fb3798d029dc4a8.jpg

点击Fork,会进入Fork进行中的界面;


Fork完成后,可以在自己的主页(Your Profile)看到Fork的项目。
6f9a4a64bec449f6bae09916df34b054.jpg

二、可以通过Create new file或upload file新建或上传文件,要注意的是:上传的文件会把原来同名文件覆盖掉!


这里的会有文件上传的进度条,如下图:共13个文件,已上传9个;上传完成的文件会在下方显示。


这个上传文件由于服务器在国外的缘故,死慢死慢,经常就废了,如下图。


当看到下面这个Processing your files…页面,那就恭喜你了,经过几十次的上传,总算work了;如果出现一片空白的页面,那么只好重复choose your files,再次Confirm Changes。


三、新建PR:可以在Fork项目的根目录下,或者任意的目录下,Pull Request。
852e054342384a5386208cd5d606f017.jpg

f2d1f871e7594b849dba74a1a4fdc91e.jpg

Pull Request后会进入Comparing changes页面,核对一下Base Fork和Head Fork(蓝色圆圈)、以及更新的内容(紫色方框);由于已经更新过最新的源项目内容,与源项目同步好了,所以此时显示“Able to merge”(红圈绿字);一切就绪,点击Create创建PR。
b4717ad5985049bf9ed49376beea429c.jpg

输入主题,并Create PR;
326418a72bec4192875b291f5974d167.jpg

这时可以看到已经将这个更新PR给源项目作者,PR序号为#52,状态open。
19252e0c4cfb47a6b4a41a65582f61a4.jpg

四、源项目作者Merge此PR,将此次的更改融入到源项目,并形成Commits记录。
158c683351a245e1962777f1a445b4a8.jpg

序号#52的PR已经Merge:
8514ffc1db2b4d6e93cc855f6fd8f174.jpg

进入源项目,查看Commit记录:
5780c6626b4d4405afa19b8452985b2c.jpg

196319491a65483d97639f423f43fe3b.jpg

至此,整个Fork、修改或创建文件、Pull Request以及Merge的步骤已完成,玩的愉快!

501

主题

1075

帖子

332

安币

手工艺人

发表于 2019-1-10 15:10:54 | 显示全部楼层
帮帮顶顶!!

497

主题

1062

帖子

1054

安币

手工艺人

发表于 2019-1-10 15:46:51 | 显示全部楼层
不错不错,楼主辛苦了。。。

8

主题

9169

帖子

3560

安币

码皇(巴士元老)

Rank: 8Rank: 8

发表于 2019-1-10 16:34:35 | 显示全部楼层
不错不错,楼主辛苦了。。。

11

主题

9284

帖子

-2

安币

QQ游客

推广达人

发表于 2019-1-10 17:12:09 | 显示全部楼层
楼主是好人,回个帖会有安币吗?

1

主题

9104

帖子

2924

安币

Android大神

Rank: 6Rank: 6

发表于 2019-1-10 17:54:01 | 显示全部楼层
每次我都积极回帖的,想要安币~

0

主题

9153

帖子

2917

安币

Android大神

Rank: 6Rank: 6

发表于 2019-1-10 18:42:44 | 显示全部楼层
楼主威武,以后多发干货,多办活动~!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表