目录
- 背景
- 流程
- 步骤
- 一、 从远程拉取代码
- 二、 创建并切换到新分支
- 三、开发之后保存提交代码到本地仓库 or 远程仓库
- 四、测试完毕合并dev
- 五、将代码上传到远程仓库
下面只是一些我工作时候的经验总结,也是我进公司的导师这样告诉我的。如果有更好的,欢迎留言。
背景
有时候必要的规范化提交代码的流程,可以帮助我们精准的把控项目的稳定性。这里不强调快是因为,从来规范化的提交代码,从来就是不图快的,线上代码稳定比快更重要。这个是每个公司衡量项目稳定性的尺子,我遇到过,同事上线不按操作来,然后把我的线上代码冲掉的情况,而我具体问他他也说不上来是怎么操作的。
流程
GitLab
上面dev
是线上分支,开发的时候从远程机器上将最新的dev
分支拉取,创建新的分支之后开发,测试完毕之后合并到dev
上,解决冲突之后push
到远程机器,准备上线。
步骤
一、 从远程拉取代码
git pull origin dev
二、 创建并切换到新分支
git checkout -b newBranch
三、开发之后保存提交代码到本地仓库 or 远程仓库
git status
git add .
git commit -m 'git log'
git push origin newBranch # 提测之后QA会拉取gitLab上面newBranch分支的代码
四、测试完毕合并dev
- 在
newBranch
分支中,主要检查代码,为合并做准备
git status # 查看修改的文件目录有没有问题
git diff # 在提交前先看自己改了什么,没有问题了再进行add
git add . # 把需要提交的东西放进缓存区
git commit -m '这次提交的题目' #提交代码并填写修改的目录便于以后查找
git rebase -i HEAD~4 #合并4个commit,如果只有一个commit的话就不需要合并直接git rebase
git checkout dev #切换到dev分支
- 在
dev
分支中,将dev
代码更新成最新的
git pull origin dev #远程存储库中的代码进行提取并合并到dev分支中,保证dev中的代码是最新的
git checkout newBranch #切换到newBranch分支
- 在
newBranch
分支中,开始合并
git rebase dev #合并dev分支到newBranch中
#'如果有冲突的话'
git status #看一下是哪个文件冲突
git diff 'file' #看一下file文件的那些部分需要解除冲突,并手动解除冲突
git add . #把解除完冲突的文件提交到暂存区里
git rebase --continue #继续rebase
#'如果想退回rebase之前的状态'
git rebase --abort
#'成功之后'
git checkout dev #切换到dev分支
- 在
dev
分支中,合并newBranch
分支的代码
git merge newBranch #合并newBranch分支
五、将代码上传到远程仓库
git push origin dev #上传代码到远程仓库,更新最新的代码