在公司是如何敲代码?记录必须掌握的git命令和开发流程
去公司实习,入职第一天往往是摸鱼的,申请各种开发账号和权限,安装开发环境(比如git、nvm等等)。当领导分配前端小需求给我们的时候,我们要怎么完成?
先完成git基础配置(公司提供账号)
设置用户名 :git config user.name “小秃僧”
设置密码: git config user.password “xxxxxxx”
设置邮箱:git config user.email “xxxxx@xxx.com”
查看配置信息: git config --list
比如这个小需求是在A项目代码里改的
先跟领导申请开通A项目代码的仓库权限
申请通过,在电脑新建一个空文件夹,执行以下命令把A项目代码拉到本地。
git clone xxxxxxx.git(仓库项目地址)
使用vscode打开A项目代码。点击"终端"–>“新建终端”,执行命令
git branch (查看目前分支)
git checkout -b feature/xxxxx (创建开发分支,一个需求建一个开发分支)
git push origin feature/xxxxx (把代码push到远端开发分支,此时分支就建好了)
npm install //安装项目依赖
为了代码可以在本地代码跑通接口,我们可以下载火绒安全,方便我们修改host域名解析(点击"安全工具"–>“修改HOST文件”–>修改完成记得保存)
如果小需求需要后端配合,还要添加后端提供的接口调用域名
接着试在本地运行代码。运行代码的命令(一般是npm run serve)可以看package.json的script配置项,看不懂的,可以参考我上一篇的讲解
如果代码本地跑通了,此时,可以写代码了…
写好代码调试本地没问题,可以发cr(代码评审,同事会审核看你的代码)
git status //查看哪些代码文件被你改动了
git add .
git commit -m "feature:添加评论小需求"
arc diff //发cr,会弹窗填写信息,这个信息可以问同事怎么填?填完保存即可
同事过了cr后,
git push //push代码到feature/xxxxx远端开发分支
接着,把代码部署到测试环境测试。
上测试环境要把代码合并到test测试分支
git checkout test //切换到测试分支
git merge feature/xxxxx //把我们的开发代码合并到test测试分支
git push //把本地合并的test分支代码push到远端test分支
此时,可以到公司的部署平台去把test分支代码部署到测试环境。
到这里就可以在测试环境查看效果了。此时,应该会有测试人员参与测试,测出问题就改bug
测试环境没问题后,可以再部署到预发环境测试,继续测试。
git checkout pre-release //切换到预发分支
git merge feature/xxxxx //把我们的开发代码合并到pre-release预发分支
git push //把本地合并的pre-release分支代码push到远端pre-release预发分支
一样需要到公司的部署平台去把pre-release分支代码部署到预发环境。
都没问题就可以上线了,合到master
git checkout master //切换到预发分支
git merge feature/xxxxx //把我们的开发代码合并到master预发分支
git push //把本地合并的master分支代码push到远端master预发分支
到公司的部署平台去把master分支代码部署到正式环境。这个过程一般都是需要领导审核。审核过了就可以上线了。
到此,开发结束。
1、如果有同事跟你在同一个feature/xxxxx开发分支开发,他发cr,审核通过并且已经push提交代码到远端feature/xxxxx分支,在你发cr之前,你需要同步他的代码,不然容易发生冲突。以下是示例:
此时,同事已经有代码更新,你需要先添加一条git pull命令
git pull //拉取同事更新的代码
git status //查看哪些代码文件被你改动了
git add .
git commit -m "feature:添加评论小需求"
arc diff //发cr,会弹窗填写信息,这个信息可以问同事怎么填?填完保存即可
2、如果公司有npm包私有库,没设置npm代理可能安装依赖不成功,我们可以执行以下命令设置代理
npm config set https-proxy http://xxxx.xxxx.xxx //公司的npm私有库域名
当npm install安装依赖不成功,可以尝试使用nodejs的低版本,16.15.1,14.9.0,12.16.1,推荐使用nvm工具切换node.js版本。
3、不要去拉test和pre-release的远端代码!!!也就是不要执行git pull origin test或者git pull origin pre-release。因为这两个分支经常被人切换覆盖测试,代码可能是残缺的,残缺意味着有bug。我当时太菜了,确实拉了,结果把feature/xxxxx开发分支搞乱了,少不了被骂。
4、如果feature/xxxxx开发分支搞乱了,可以回退到某个版本。命令如下:
git reset --hard xxxxxxxxxx(commit ID此处是回退到哪个版本的版本提交ID)
git push //回退后,push到远端开发分支,更新一下远端代码