如何在GIT上使用Fork并提交PR(针对非技术人员)

2019/06/27 Git

如何在GIT上使用Fork并提交PR

1、准备工具

按照惯例,首先需要准备一下所需要的内容

码云账号

因为 fork 项目只能 fork 别人的(废话,项目本身就是自己的还要 fork 个锤子 = =)

所以需要两个账号,本例中分别是 smile的微笑(主) 和 酷一点的名字(副)

建立仓库

我们自己在 smile的微笑 账户中创建一个仓库 test,需要包含两个分支,分别为 masterdev

地址:https://gitee.com/twelife/test

本地环境

git 当然是必不可少的了,可参考上一篇文章

2、为什么要fork

有用户A做了一个开源项目,特别棒,你很喜欢,但是中间有些内容缺陷,你想要给它完善,但是你又不是仓库成员,用户A也不愿意把你加入该项目,这个时候我们就可以 fork 一份该项目至你自己的仓库中,你自己拉去后去修改完善,在提交到你自己的项目中,再在线上仓库中去发起一个 pull request 请求,将你的修改合并至用户A的项目,当然咯,你发起 pull request 后,用户A若是认为没必要,也可以拒绝的。

3、fork项目

fork项目

打开码云,登陆 酷一点的名字 这个账户,然后打开我们已经在主账号中准备好的仓库 test

1561649438421

在标题行的右侧,有三个按钮框,分别是 watchstarfork,点击 fork

watch:关注这个项目,这个项目的所有动态,都会在你的动态中显示

star:收藏该项目

fork:会将该项目整个复制至你的仓库中,包括版本记录、issue、提交记录等等

会有一个弹窗提示,选中自己的账户

1561650246012

点击确认,然后等待 fork 完成就会进入到你 fork 的项目主页

1561650538662

跟源项目几乎一模一样哇~ 就是名字变成你自己的了,还有标题下有说明这个项目从哪里 fork 来的

根据分支克隆项目

点击右侧 克隆/下载 按钮,复制项目地址

注意哦!因为主项目存在多个分支,如果是拉取( master )主分支,那么我们只需要正常克隆即可,但是如果我们需要更改的是 dev 分支

如下图所示,在中间有个 分支 选项,勾选并在输入框输入需要拉取其它分支的名字,我们这里输入 dev,然后点击确定

1561651224472

等待拉取完成即可

切换分支

刚刚我们得到了 dev 分支,但是我还想切换到 master 分支看看,应该怎么切换分支呢?

在项目文件夹内空白处,召唤右击菜单,依次选择 TortoiseGit > 创建分支 或者 切换/检出 ,如下图所示

1561652132893

选择 基于 版块中的 分支,在后面下拉框中会显示所有的分支,我们选择 remote/origin/master,再在 选项 版块中勾选 切换到新分支,点击确定,等待更新完成即可

如何确定当前分支

有时候我们拉取项目久了一点点,或者操作的频繁了,忘了当前的分支是哪个怎么办?

其实很简单哦,召唤右击菜单,找到 Git 提交 -> "xxx",其中 xxx 则为分支名称,例如我的,上一步操作时为 master 分支,因此显示 Git 提交 -> "master"

1561653107082

这样我们就不会把分支搞错了

4、发起Pull Request

下面继续切换到 dev 分支,修改相关内容,然后并提交,本例中新增一个文本文档 来自dev分支.txt

提交后我们在 fork 的项目选择 dev 分支即可看到刚刚提交的文件

1561653576758

接下来点击文件列表上方的 +Pull Request 按钮,看到如下页面

1561653948163

选择源分支、目标分支,填写标题、说明

源分支:你修改后需要发起 Pull Reuqest 的分支

目标分支:希望合并到主仓的哪个分支中去

再点击右下角的创建,创建成功后可以看到如下界面,若是发现提交错了,可以点击右侧 关闭 按钮进行关闭,或点击 编辑 按钮进行修改

1561654496166

注:一个分支只能发起一个 Pull Request 操作,在当前的未处理前,无法再次发起 pull request ,如果后面有新提交的内容将会自动记入该 Pull Request 下,若是不想记入,那么在本地创建一个新分支再提交

5、合并Pull Request

开启浏览器无痕模式或另外打开一个浏览器,打开码云,登陆 smile的微笑 账户,并进入 test 项目中

1561654892020

在标题下方的导航栏中,可以看到 Pull Request 后面的数字为1,说明有一个合并待处理,当然在站内信系中也会有提示,毕竟我们无法在每个项目中去检查,切换到 Pull Request 中,点击下方的标题,则可进入查看详情

1561655092646

查看提交的内容有两种方式,点击下方 提交 再在版本中查看;或者点击右侧 克隆,在本地克隆查看文件

若该 Pull Request 无问题,那就可以合并啦,点击右侧的 合并按钮,选择其中一个进行合并即可。

6、完结

虽然在处理过程是比较麻烦,但是操作过两次熟悉了就很容易了

以上内容中仅操作了常规功能,git 很强大,想要更深入,需要自己不断去学习啦

对于内容中,若是存在问题或缺省,欢迎在下方评论指出,谢谢啦~

Search

    Wechat

    闷骚的程序员

    Table of Contents