美团实习总结零--git操作和流程


常用命令

Git相关

git init 新建一个空的仓库
git status 查看状态
git add . 添加文件
git commit -m ‘注释’ 提交添加的文件并备注说明
git remote add origin git@github.com:jinzhaogit/git.git 连接远程仓库
git push -u origin master 将本地仓库文件推送到远程仓库

1、推到自己的远程分支

git add .
git commit -m “注释说明”
git push //默认全部
git pull //如果失败,先pull再push,vs中解决冲突

2、分支管理

  • git checkout -b fileName ,创建并切换到fileName分支,等价于git branch fName–>(切换)git checkout fName
  • git branch: 查看分支
  • git switch fName/master ===git checkout fName 都是切换分支
  • git merge fName: 合并分支到master
  • git branch -d fName: 删除分支
  • git push origin feature/hzxx 推送到远仓库的分支上

    创建新分支并拉代码

    git checkout -b feature/cityDecision-hzx origin/feature
    git pull
    git merge feature/hzx
    git commit -m “merge”
    git push origin feature/hzx:feature/hzx 创建后,推到自己远程分支
    git branch –set-upstream-to=origin/feature/cityDecision-hzx feature/cityDecision-hzx 代码合并到远程自己的分支

    3、thrift发布

    (1)thrift网址->owl API -> snapshots / 1.x-SNAPSHOT->https://thrift-qcs.sankuai.com/devtool
    (2)首次:安装rimraf(作用:删除编译好的文件)->删除编译好的资源-> package.json修改mtfe-> 重新运行
    后续使用:修改SNAPSHOT版本–>yarn

(3)相关命令
npm install rimraf -g
rimraf node_modules
修改package.json “@mtfe/thrift-api-qcs-data-owl” : 1.0.9-SNAPSHOT
yarn
yarn add xxx@new_version
yarn add [package]@[version] // 安装指定版本,添加到package.json,如果需要精确到小版本,使用-E参数;
yarn add rimraf
npm run dev
npm run node-dev

4、发布到dev

  1. 先发布到feature/hzx 上
  2. 切换到dev分支git checkout -b dev origin/dev
  3. 查看分支 git branch
  4. git pull 拉取
  5. git merge feature/hzx 把hzx合并到dev上,如果有冲突,上半部分HEAD是dev,下半部分是feature/hzx, 解决冲突,二者留一或修改其中一部分
  6. git commit -m ‘merge’
  7. git push origin dev
  8. 在cargo上构建dev,启动镜像

另外:pull request到master
强制提交:git comit -m “发到master” –add-notify

5、发布到st

方法一:

  • 推到自己的远程分支 git add . git commit -m “ziji” git push origin feature/hzxx
  • 界面操作 pull request: feature/hzxx –> release
  • 同意后在plus部署stage

方法二:
git checkout -b release origin/release (git checkout release)切换到release分支,自己merge
git pull
git merge feature/hzx
git commit -m “merge” 如果报错,先解决冲突,再git commit -m ‘merge’ –no-verify
git push

6、发布上线master

  • 推到远程自己的分支 git add . git commit -m “备注” git pull origin master

  • 解决冲突,主要是yarn.lock, git push origin feature/hzxx

  • 界面pull request

    7、git版本回滚

  • git refolg 查看版本

  • git reset –hard abjdkfbaf版本号(或 git reset –hard HEAD@ {3} 数字为序号)

  • git push -f origin feature/hzxx 版本覆盖

  • git pull origin feature/hzxx 本地回到之前的版本

    开发流程

  1. 接到需求,进行前端开发。
    2. 配置功能菜单
    2. 更新接口snapshot,
    新版本的接口,在 Thrift 上编译新版本。
    然后将版本号替换到package.json里面去。
    3. 前后端联调。
    4. Merge代码到Dev分支(如上,4、发布到dev)
    5. 在 Cargo 上构建并部署Dev环境http://cargo.sankuai.com/stack/detail?stack_uuid=5a82826d-10cb-466e-b010-c0a49c39b5e4
    6. 访问 开发环境 并验证 https://plus.mws.sankuai.com/#/release/job/list?releaseId=25017
    7. 如果通过,Merge代码到Release分支。 git merge feature/hzxx界面操作
    8. 在 Plus 上构建并部署Stage环境 plus->”部署任务“ ->”staging”
    9. 访问 Stage环境 进行验证或者回归测试。
    10. 如果没有问题,Merge代码到Master分支。
    11. 在 Plus 上构建并部署Production环境 –>发到master之后stash自动构建,等它构建完,自己点部署即可。
    代码提交流程:
    Dev(dev) - Staging (release) - Production (master)
    在Plus上部署staging时,先进行构建,在进行部署。


    代码提交流程:
    Dev(dev) - Staging (release) - Production (master)
    在Plus上部署staging时,先进行构建,在进行部署。