本篇主要是接着上一篇对无写入权限的GIT分布式开发的介绍,有写入权限的见上一章。

如果你没有写入权限,你就只能从远程仓库的development提取代码,而不能直接合并代码到远程development分支上。也就是说你不能将本地工作分支上的代码直接合并到远程仓库的development分支上去,只能将代码提交到远程仓库的Home分支上后,在网页上向development分支发起pull request请求。

对于这种情况,那么在你刚开始工作的时候,远程仓库上就会已经搭建好了你要工作的Home分支(比如指定你在Home分支上开发)。下面来详细介绍下:

远程仓库分支情况

远程仓库已经基于development创建好了Home分支(你将要工作的远程分支)。

编写代码前的准备工作

  • 提取Home分支的代码到本地
  • 切换到development分支
    • 执行fetch,提取最新development分支代码(此命令要在终端执行)
  • 切换到Home分支
    • 执行 git merge development :将development分支的最新代码合并进来(此命令要在终端执行)

编写代码

  • 切换到Home分支编写代码

提交代码

  • 切换到Home分支上执行

    • 在Xcode中执行 commit命令:如下图所示:

Snip20160110_4
* 切换到developent分支执行:下面这二个命令要在终端执行

  • git fetch (备注:因为在你写代码的过程中,可能由于别人的提交导致development进行了变更,所以要从远程仓库提取最新的代码下来。此操作会将远程仓库development分支上有,而本地development分支上没有的代码提取下来)
  • git merge (将远程仓库development分支上有而本地development分支上没有的代码合并到本地developoment分支上)。
    • 切换到Home分支,执行
  • git merge development :把本地development分支上的代码合并到Home分支上
  • git push:把本地Home分支上的代码提交到远程仓库上去
    • 提交合并请求(即网上页的pull request)
  • 在网页上打开远程仓库,选中Home分支
  • 点击提交合并请求(将Home分支合并到development分支的请求)

Snip20160110_20
* 注意:左边要选中development,右边选中Home。并加上注释。见下图

Snip20160110_22

处理提交请求

  • 处理提交请求 接下来有写入权限的人就会对提交请求进行处理

Snip20160110_24

发表评论

电子邮件地址不会被公开。 必填项已用*标注