** 关于使用git命令全程操作项目到提交成功 发版 完整流程
项目背景:
一般项目都会有三个基本分支 dev test procduct,分别对应: 开发 测试 生产环境的分支。最终发布部署到线上,使用的是GitLab + GitLab CI/CD 自动化部署,一般是整个流程最后一环,把项目打包,并部署到测试环境或者生产环境中。
我们开发一般在dev编写,测试这边会同步测试,一阶段开发完成,dev便可以合并到test,继续走测试流程,最终合并到生产并且发版。这整个过程有两种方法去做版本管理: (1.) git 命令输入 (2.) 利用编辑器的某些工具 ,今天主要讲一讲git 命令:
- clone项目到本地
- git clone *url(项目地址)
- 将全部或者某个修改文件添加到暂存区
- git add . 或者 git add *filename(src/pages/demo.tsx)
- 将暂存区的文件提交到远程
- git commit -m '提交描述'
- 从远程更新代码到本地 避免冲突
- git pull 或者 git pull origin *test(指定从test分支更新代码)
- 如果本地有更改 可能会有提示:在签出前 请清理存储库工作树!这是因为远程文件更新可能有冲突,使用git执行下面三步 即可解决
-
git stash -- 将本地文件存储起来
-
git pull ---- 更新远程代码到本地
-
git stash pop -- 将本地更改从存储区取出来
-
- 将提交文件推送到远程分支
- git push or git push origin *test (指定从test分支更新代码)
--这一步为止就提交到了代码仓库版本管理中,如果我们需要合并分支,继续往下:
- 将test分支修改过的内容合并product中,先切到product
- git checkout product
- 将test分支合并到product
- git merge test
基本上整套流程完结!!
ps: 在这个过程中,我们会有一些需求不断增加,大家都在一个分支上共同开发,很容易出现大量冲突,所以,可以去基于当前在使用的分支,每个新增需求来创建一个新分支,举例说明:
PA这边要求在某个页面加个table展示,我们可以在当前开发的test分支,另外创建一个分支出来,然后这个新增需求就在这个分支上写,写完之后直接merge到test分支或者product,merge完成后即可删除,可以叫做功能分支 或者需求分支
命令如下:
- 创建功能分支并且切到这个分支
- git checkout -b feat/新增table
- 发布一下这个新分支到远程
- git push -u origin feat/新增table
- 开发完成后 继续提交,并合并到所需分支
- 重复2·3·4·5·6·7步骤
完结!欢迎补充。