【Git】使用SourceTree与GitLab远端仓库进行交互

在上一篇博客Git】使用SourceTree克隆GitLab代码仓库中已经克隆了远程仓库,下面学习一下如果在本地进行修改并提交到远程仓库。

一、Git工作流初始化仓库

点击Git工作流。

这里有几个分支:

应该长期存在的两个核心分支:

  • master,该分支存放对外发布的版本,任何时候该分支都是稳定的发布版。不可以直接在该分支push 代码。
  • develop,该分支的代码存放的是达到稳定并且准备发布时的,新功能开发都是基于此分支

此外还有三种短期分支:

  • feature,功能分支,进行新功能的开发将在此分支上进行。该分支的代码基于develop 并且最终会合并回develop 分支。
  • hotfix,补丁分支,进行线上问题修复将在此分支进行,该代码分支基于master 并且最终将合并会develop、master 分支。
  • release,release预发布分支。

几个分支具体的工作流程是:

  1. 当进行新功能开发时,需要基于develop分支拉取feature分支进行开发,如增加了一个功能,应该基于develop分支创建 feature/news 分支。
  2. 当功能开发完毕时,将提交merge request,将该功能合并到develop 分支。
  3. 当所有feature 功能开发完毕,且都已合并回develop,开发自己测试完毕后。准备创建预发布版本,就可以基于develop创建release分支。此时测试人员可以基于该版本release进行测试,发现了问题,则在release分支上进行问题的修复。
  4. 当具备上线条件时,需要将release分支合并到master和develop分支,同时需要打tag,然后进行上线操作,线上发布的为master分支。
  5. 当需要修复线上bug时,需要基于master创建hotfix分支,当修复且验证完毕后,将hotfix分支合并回master分支,同时为了保证该hotfix包含在下一个发行版中,同时需要合并回develop分支,同时需要打tag。最后删除hotfix分支。

点击确定。

完成之后左侧就多了一个develop分支。

二、建立新分支

再次点击Git工作流,会弹出对话框选择下一个流动作。

这里选择建立新的功能。

填入功能名称,最好是可以反映这是一个什么功能,这里仅做测试用。默认的就是基于develop分支,点击确定。

完成之后,左侧出现了feature/test分支。

三、开发新功能

现在我工作在feature/test分支,它是基于develop分支的。

新建了一个featuretest.txt文件。

在sourcetree的WORKSPACE点击文件状态。

这时在未暂存文件里面出现了我新增的这一个文件。

点击“+”暂存这一个文件。

就将文件暂存了。

在最下方的对话框中填写本次修改的描述,然后点击提交。

这是将修改提交到本地仓库。

这时再次点击Git工作流。

选择下一个流动作为完成功能。

表明要将feature/test分支合并到develop分支。

完成之后,本地的feature/test分支已经被删除。

四、提交到服务器

由于现在develop分支还只存在于本地,远程仓库并没有。这里先在develop分支上选择拉取

将远端master分支上的代码拉取到本地develop分支。

完成之后点击推送,选择将本地develop分支推送到远程develop分支,远程分支若不存在,则会自动新建。

完成之后,在gitlab上查看已经多了一个develop分支

develop分支上有新增的featuretest.txt文件。

现在如果代码管理者接受了这一个提交并且认为可以合并到master分支,那么合并之后,开发人员在本地切换到master分支,拉取最新的代码。

master分支已经合并了上次develop分支的修改。

总结一下,开发流程是:

  1. 每次开发新功能前都先从服务器上拉取最新的代码。
  2. 开发人员基于develop分支在本地新建具体的开发分支,进行开发,提交到本地。
  3. 开发完成将本地的开发分支合并到本地的develop分支。
  4. 推送到服务器之前再次拉取最新的代码,解决冲突,再次提交。
  5. 将本地develop分支的修改推送到远端develop分支。
  6. 等待代码管理人员将稳定的远程develop分支合并到master分支。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章