熟悉 git
首先要熟悉一下 git,可以参考官方文档:https://try.github.io/
附一个可视化的流程模拟网站: https://learngitbranching.js.org/
通常的步骤:
- 常从 remote 拉取最新代码:git pull
- 建立本地分支 feature/xxxx(xxxx一般为任务的名称):git checkout -b feature/xxxx
- 写代码, git commit -m “有意义的描述”
- 一次 Merge Request 可以有几个 commit,但不要太多,比如别超过 5 个。
- git commit -m 信息写中文。描述简短,有意义。
- push 到远程仓库:git push --set-upstream origin feature/xxxx
- 建立到 develop 的 Merge Request:在 gitlab 中点击 "Create Merge Request",source 为 feature/xxxx,target 为 develop。
- Code Review:根据大家的 review 意见,追加 commit,或者修改原有 commit。
- 冲突解决,与 master 分支代码有冲突:
- git pull origin master
- git rebase master
- 解决冲突:用编辑器打开冲突文件,git add,git commit
- git rebase --continue
- 冲突解决,与 develop 分支代码有冲突。这需要在 code review 中被同意合并 Accepted 之后才着手解决冲突:
- git pull origin develop
- git checkout develop
- git merge --no-diff feature/xxxx
- 解决冲突:用编辑器打开冲突文件,然后,git add,git commit
- git push develop
- 建立到 master 的 Merge Request:一般合并到 master 意味着上线。
git 分支工作流
git 鼓励使用分支 branch 工作。开始工作的第一件事就是建立工作分支。本地的 master 分支应该永远保持干净,只用来同步远程仓库的稳定代码,即远程仓库 master 分支的代码。
一般的项目会有三类分支:一种个人工作分支:feature 分支;两个针对不同环境的公共分支:develop 和 master。
feature 分支
用于存放个人的工作代码,并作为建立 Merge Request 的 source 分支。
develop 分支
一般对应测试环境的代码分支。
master 分支
一般对应线上代码分支,发布到 master 即意味着上线。
Merge Request
创建Merge Request
image.png
选择要提交的分支以及要合并到哪个分支
image.png
填写一些相关内容,并提交
image.png
等待确认人确认提交后,你的分支就会被合并到相应分支里。