如何将一个完整项目推到码云_码云(Gitee.com)帮助文档_V1.2

4.1、Fork + Pull 模式

参与码云中的项目开发,最常用和推荐的首选方式是“Fork + Pull”模式。在“Fork + Pull”模式下,项目参与者不必向项目创建者申请提交权限,而是在自己的托管空间下建立项目的派生(Fork)。至于在派生项目中创建的提交,可以非常方便地利用码云的 Pull Request 工具向原始项目的维护者发送 Pull Request。

### 1、什么是 Pull Request?

Pull Request 是两个仓库提交变更的一种方式,通常用于 fork 项目与被 fork 项目的差异提交,同时也是一种非常好的团队协作方式,下面,就来讲解如何在码云平台提交 Pull Request:

PS:码云平台限制 Pull Request 源项目与目标项目需存在 fork 与被 fork 关系,故如果你要提交 Pull Request,必须先 fork 一个项目,然后才能对该项目提交 Pull Request,同时,以该项目为父项目的所有项目,您也均可以提交 Pull Request。

### 2、如何 fork 项目

fork 项目时非常简单的,进到项目页面,然后找到右上角的 fork 按钮,点击后再次点击确定,等待系统在后台完成仓库克隆操作,你就完成了 fork 操作,如图:

![输入图片说明](https://static.oschina.net/uploads/img/201607/11170038_5Rzf.png "在这里输入图片标题")

### 3、如何提交 Pull Request

首先,您的项目与目标项目必须存在差异,这样才能提交,比如这样:

![输入图片说明](https://static.oschina.net/uploads/img/201607/11164020_j8To.png "在这里输入图片标题")

如果不存在差异,或者目标分支比你提Pull Request的分支还要新,则会得到这样的提示:

![输入图片说明](https://static.oschina.net/uploads/img/201607/11164209_LfgW.png "在这里输入图片标题")

然后,填入Pull Request的说明,点击提交Pull Request,就可以提交一个Pull Request了,就想下图所示的那样:

![输入图片说明](https://static.oschina.net/uploads/img/201607/11171413_x7Jh.png "在这里输入图片标题")

### 4、如何对已经存在的 Pull Request 的进行管理

首先,对于一个已经存在的 Pull Request,如果只是观察者,报告者等权限,那么访问将会受到限制,具体权限限制请参考码云平台关于角色权限的内容,下文涉及的部分,仅针对管理员权限,如果您发现不太一样的地方,请检查您的权限是不是管理员或该 Pull Request 的创建者。

### 5、如何修改一个已经存在的 Pull Request

点击 Pull Request 的详情界面右上角的编辑按钮,就会弹出编辑框,在编辑框中修改你需要修改的信息,然后点击保存即可修改该 Pull Request,如下图所示:

![输入图片说明](https://static.oschina.net/uploads/img/201607/11182105_veIB.png "在这里输入图片标题")

请注意,在该界面,可以对 Pull Request 进行指派负责人,指派测试者等等操作,每一个操作均会通知对应的人员

### 6、对 Pull Request 的 bug 修改如何提交到该 Pull Request 中

对于 Pull Request 中的 bug 修复或者任何更新动作,均不必要提交新的 Pull Request,仅仅只需要推送到您提交 Pull Request 的分支上,稍后我们后台会自动更新这些提交,将其加入到这个 Pull Request 中去

### 7、Pull Request 不能自动合并该如何处理

在提交完 Pull Request 的后,在这个 Pull Request 处理期间,由原本的能自动合并变成不能自动合并,这是一件非常正常的事情,那么,这时,我们有两种选择,一种,继续合并到目标,然后手动处理冲突部分,另一种则是先处理冲突,使得该 Pull Request 处于可以自动合并状态,然后采用自动合并,一般来讲,我们官方推荐第二种,即先处理冲突,然后再合并。具体操作为:

先在本地切换到提交 Pull Request 的分支,然后拉取目标分支到本地,这时,会发生冲突,参考[如何处理代码冲突](http://git.mydoc.io?v=16912&t=83148) 这一小节将冲突处理完毕,然后提交到 Pull Request 所在的分支,等待系统后台完成Pull Request的更新后,Pull Request 就变成了可自动合并状态

### 8、Pull Request 不小心合并了,可否回退

对于错误合并的 Pull Request,我们提供了回退功能,该功能会产生一个回退 XXX 的 Pull Request,接受该 Pull Request 即可完成回退动作,注意,回退本质上是提交一个完全相反的 Pull Request,所以,你仍然需要进行测试来保证完整性,另,为了不破坏其他 Pull Request,建议只有需回退的 Pull Request 处于最后一次合并操作且往上再无提交时执行回退动作,否则请手动处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值