git(v3版本)工作流程

实例模拟:操作一个channel仓库,channel仓库里面又包含一个ecommon仓库,则有:

channel仓库,ecommon子仓库【是channel仓库、其他仓库的子仓库,仓库管理员都关闭了对ecommon子仓库修改的权限】



在channel仓库里面创建一个属于自己开发功能代码的分支如:

git checkout master //检出master分支
git pull origin master //获取最新远程master分支代码
git checkout -b junhua //创建一个属于自己开发的junhua分支

 一段时间过后,你再在junhua分支上面工作:

git checkout junhua //检出junhua分支
git pull origin junhua //获取junhua分支最后一次提交代码【有可能别人修改了你的junhua分支】
git status //查看分支状态

 如果管理员修改并提交了ecommon仓库代码,则会提示ecommon子仓库有更新,那么:

cd ecommon //进入ecommon仓库
git pull origin master //获取ecommon最新代码
cd .. //返回到junhua分支
git status //查看分支状态
git add . //把修改放入暂存区
git commit //本地提交,并在弹出的日志文本中写上提交日志,保存关闭
cd ecommon //进入ecommon仓库
git log //查看当前的Hash值是否与ecommon最后一次提交的Hash值一样

【注:如果不一样,则更新失败,原因可能是你没有执行上面一步骤git pull origin junhua,获取junhua分支最后一次提交的代码】

/*如果是一样的话,那么就在junhua支上开发自己新的功能代码开发完以后,进行本地提交,然后:*/
git checkout daily/xxxxxx /*那么基于junhua分支创建一个daily/xxxxxx分支,假如:*/
git checkout daily/120203 /*创建一个daily/120203的daily分支*/
git push origin daily/120203
/*上面一命令:首先会更新远程daily/120203分支,然后会自动git checkout master,git pull origin master,git checkout daily/120203, git merge master,最后开始执行打包脚本*/

 

git tag publish/120203 //创建一个tag
git push origin/120203 //发布tag里程碑
/*首先更新远程daily/120203分支代码,
切换到master分支,基于master分支新建并切换到发布分支publish/120203,
合并daily/120203分支代码到publish/120203分支,开始执行打包脚本,
将代码提交到svn版本库,提交完成,准备发布CDN,给出一个文件代码的cdn地址,
发布成功!*/

/*tag发布成功以后,远程daily/120203分支代码已经合并到远程master分支上了
执行git fetch -p 可以查看到origin daily/120203分支已经删除,origin master
有了新的Hash值。*/

最后一步,更新本地master分支代码

/*因为,远程的master分支中的ecommon代码已经更新了,但是本地master分支没有任何更新*/
git checkout master
git pull origin master //获取远程master分支代码

 



posted @ 2012-02-03 17:07  杨君华  阅读(822)  评论(0编辑  收藏  举报