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