Git

本文主要讲在凯拿项目中对git的使用,如果没使用过git,则推荐先阅读《Pro Git》一书。

提交代码

  • git add file, 将修改的file添加到暂存区
  • git commit -m 'commit msg',将暂存区的修改提交至本地仓库
  • git fetch,从远程仓库拉取最新提交
  • git rebase origin/master,对远程master分支做变基
  • git push origin HEAD:refs/for/master,将本地提交推送到远程仓

cherry-pick 代码

  • git cherry-pick c3c831f312b9eeafb227bead2af6fab51bb2ccf9, 将gerrit中的这次提交cherry-pick到当前分支
  • git status, 查看当前分支是否有冲突
  • git add .,将修改的file添加到暂存区
  • git cherry-pick --continue,继续cherry-pick命令
  • git push origin HEAD:refs/for/master,将本地提交推送到远程仓

创建release分支

  • git checkout -b release/1.0, 创建并切换到分支
  • git push -u origin release/1.0,将本地分支推送到远程并与远程分支关联

合并分支

  • git meger test,合并test分支
  • git status, 查看当前分支是否有冲突
  • git add .,处理完冲突,添加到暂存区
  • git meger --continue,继续meger命令
  • git push origin HEAD:refs/for/test,将本地提交推送到远程仓

发布生产

  • git tag -l,查看tag版本
  • git tag -a R_1.0.1,新建一个名为R_1.0.1的TAG
  • git push origin R_1.0.1:refs/tags/R_1.0.1,将R_1.0.1推送到远程仓库

分支策略管理

凯拿使用的git分支策略是先锋主干多稳定分支,一般情况下,大家都在master分支上进行开发,在开发到一定时期,从master拉出release稳定分支准备上线,之后对release分支的修改都要cherry-pick到master上。上线之后会从release分支拉出来一个对应的hotfix分支,然后废弃release,对于线上的紧急bug修改,需要在hotfix分支上修改,并cherry-pick到master分支上。

  • 上线分支命名规则为release/{major}.{minor},major表示大版本,minor表示每次迭代版本
  • hotfix分支命名规则为hotfix/{major}.{minor},版本号同release
  • 上线Tag命名规则为R_{major}.{minor}.{revision},revision表示修订次数

Gerrit

我们使用gerrit来管理远程仓库,同时gerrit也是一个代码审核工具,地址为:http://192.168.1.7:9999/#/

下面是从Gerrit上下载代码库的步骤:

  1. 登录gerrit后,点击网页右上角的settings
  2. 点击页面左侧的进入sshkeys管理页面
  3. 点击Add Key 按钮出现下方输入框,按照图中的1234步骤生成ssh key并上传
  4. 点击菜单 Project -> List -> 选择cana项目,可以看到如下页面
  5. 复制图中的git clone命令,就可以在本地终端中下载代码了

results matching ""

    No results matching ""