work flow 工作流程
常用git 命令 v-1
# 切换分支
git checkout site-v1.7.8
# 提交代码前,先拉取分支
git pull
# 拉取失败说明有冲突,解决冲突...
# 保存在stash之中
# 目前没有权限,直接上传到中转库,格式如下
git push origin `分支名`:refs/for/`分支名`
git push origin site-v1.7.8:refs/for/site-v1.7.8
常用git 命令 v-2
# 切换分支
git checkout site-v1.7.8
# 提交代码前,先拉取分支
git pull
# 所有本地分子
# 所有分支
git branch -a
# 所有远程分支
git branch -r
# 新建分支,基于某个分支新建分支
git checkout -b 本地分支名x origin/远程分支名x
# 可以把远程某各分支拉去到本地的branchname下,如果没有branchname,则会在本地新建branchname
git fetch origin branchname:branchname
# 获取远程分支remoteName 到本地新分支localName,并跳到localName分支
git checkout origin/remoteName -b localName
# 将远程分支拉取到本地分支
git fetch origin <远程分支名>
# 删除本地分支
git branch -d <分支名>
如果该分支没有合并到主分支会报错,可以用以下命令强制删除git branch -D <分支名>
# 删除远程分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
# 直接删除远程分支
git push origin --delete <分支名>
eg:git push origin --delete <hengshuai-v1.8.3.2>
# 阮一峰的git 远程教程
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
# 拉取失败说明有冲突,解决冲突...
# 保存在stash之中
# 目前没有权限,直接上传到中转库,格式如下
git push origin `分支名`:refs/for/`分支名`
git push origin site-v1.7.8:refs/for/site-v1.7.8
# 不用在本地新建分支,只需要,所谓的三角关系
git push origin site-v1.8.7:hengshuai-v1.8.3.2
#git push origin site-v1.8.7:hengshuai-v1.8.3.2
开发流程
因为加密,为拥有各种权限,需要开启powerShell,执行kinit hengshuai.hu,
并输入密码。
开发环境与测试环境的切换
本地没有安装java环境,jsp文件需要上传到服务器端,解释并执行。
在本地环境与测试环境的切换时候,需要清除cookie。
注意:在开发完成jsp之后,除了上传到服务器个人文件夹之后,还需要git push。
开发环境
开启nginx进行静态资源的代理。jsp文件需要开发完成之后,上传到服务器。
服务器路径为:
/data/web/site9/webapp/WEB-INF/views/hengshuai.hu/*
/data/web/site9/webapp/WEB-INF/views/hengshuai.hu/template/grand-new/common
在访问链接之后加上
?front_dev_folder=hengshuai.hu,
表示拉取的是服务器上个人的文件,'='后面对应服务器上建立的个人文件。回车,则为本地开发环境。
例如:http://site9.chime.me/?front_dev_folder=hengshuai.hu
利用webpack进行编译,本地开发时候需要开启webpack,执行
// 旧版 banner为黑色
npm run dev1
// 新版 banner为白色
npm run dev2
tips:已经开启热更新。
在新版的开发之中,需要在链接后面增加参数,site* 为偶数的参数。格式如下:
http://site9.chime.me/?front_dev_folder=hengshuai.hu&global_domain=site8.chime.me
测试环境
直接上传到测试环境。利用host来实现服务器的切换。无论是测试环境还是本地开发环境,都需要开启host。
site开发一些背景
site第一二套模板,以页面头部为区分,头部导航栏为白色为第二套,头部导航栏为黑色为第一套。目前,每次改动一个需求,如果没有说明是针对那套模板,需要改动两个地方。(截止到2017.10.12)
site1~site9为子域名,在开发的过程中,每一个开发的当前版本对应一个site版本,在开发时,应与后端协商,将目前的版本号告诉后端,然后由后端决定我们在哪个版本开发,此为开发环境的确认。本地开发时,我们需要将新建或改动的jsp等需要java解析的视图文件上传到服务器下相应的site目录,开启webpack打包,开启Nginx代理,即可进行本地开发。
开发环境和测试环境,服务器都是一台,所以由服务器到开发环境相互切换时候,是不需要切换host的。将环境切换到测试,只是将jsp文件切换到公共的目录,将原来由Nginx代理到本地的静态文件上传到公共目录。
在文件的上传上,可以直接执行脚本,windows和mac都有相应的脚本来自动上传。
例如:windows环境下,site站的测试在site5环境上测试,执行的脚本的流程为:
cmd 执行如下命令:
cd homethy-static\site
# 下面的命令含义是:执行"win-deployOther0.bat"文件,上传的服务器地址是"10.4.36.107",目录是:"web/site5"
call win-deployOther0.bat "10.4.36.107" web/site5
# over done...
上传到测试环境
上传测试环境需要在git他人合并之后方可执行。
在window环境下执行 ,使用cmd执行:`call win-deployOther0.bat "10.4.36.107" web/site9`
`注意:`使用powerShell会报错,无法执行命令。
执行的文件是`call win-deployOhter0.bat`,后面的是参数,“10.4.36.107”是服务器地址,后面的site对应目前的开发环境。
work flow 工作流程的更多相关文章
- git flow 工作流程以及常用命令
一.分支介绍 master 也是产品分支,只有一个,一般情况下不会在这个分支上进行代码操作 develop 只有一个,新特性的开发是基于 develop 开发的,但是不能直接在 develop 上进行 ...
- Git多人协作工作流程
前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...
- [GIT] Git 工作流程(Git flow, Github flow flow, Git lab flow)
reference : http://www.ruanyifeng.com/blog/2015/12/git-workflow.html Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必 ...
- openVswitch(OVS)源代码分析之工作流程(flow流表查询)
原文链接: openVswitch(OVS)源代码分析之工作流程(flow流表查询)
- Git 工作流程
Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去.”工作流程”在英语里,叫做”workflow”或者”flow”,原意 ...
- Git flow 的流程
Git flow 的流程与参考 Git flow 出自 A successful Git branching model,这里使用了一个前端项目配合本文稿实施了 git flow 并记录流程作出示 ...
- [Inside HotSpot] C1编译器工作流程及中间表示
1. C1编译器线程 C1编译器(aka Client Compiler)的代码位于hotspot\share\c1.C1编译线程(C1 CompilerThread)会阻塞在任务队列,当发现队列有编 ...
- AXI总线的工作流程---握手机制
AXI总线的工作流程---握手机制 信息来源 首先分析AXI Master的工作机制 握手机制 CMD和Data的流程图: 写操作流程:write transaction flow read操作的流程 ...
- Git Flow 工作模型与使用
一. Git Flow 工作模型的原理 无规矩不成方圆,但是规矩太多了,则感觉到束缚.我们一个人工作的时候喜欢无拘无束,想怎么干就怎么干,没有人评判,没有人检验.时间久了就会盲目自大,以为增删改查熟悉 ...
随机推荐
- JavaWeb学习 (五)————Servlet(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- [Cerc2012]Non-boring sequences
Description 定义一个序列是不无聊的,当且仅当它的所有子区间都存在一个独一无二的数字,即每个子区间里至少存在一个数字只出现过一次.给定一个长度为\(N(N\leq2\times 10^5)\ ...
- Spring之IOC容器
在前面博客中介绍什么是依赖注入时有提到:依赖注入是组件之间依赖关系由容器在运行期决定,即由容器动态的将某个依赖关系注入到组件之中.那什么是容器?既然Spring框架实现了IOC,那Spring中的容器 ...
- Lucene实战之基于StandardAnalyzer读写索引
前言 使用lucene创建索引时如果指定了解析器,则需要读写都使用这个解析器,目前我发现也就是在处理中文这块比较麻烦,像你在使用solr时如果配置了ik分词,则需要把index清空重新创建才能继续搜索 ...
- MyBatis——MyEclipse中使用mybatis-generator
mybatis-generator可以根据数据库的表来生成POJO类.mapper.xml和DAO接口,用这个插件会大大地提高开发的效率.网上虽然有一些使用这个插件的教程,但我单个试了并不能成功,会出 ...
- Node Redis 入门
基础准备:Node.Js .npm或cnpm.redis安装 1.建立一个项目文件夹,这里命名 wxfc ,打开命令行输入 npm install redis . 因为没有创建package.json ...
- 【多线程】Task
介绍 Task是.NET推出数据任务处理的工作类.位于System.Threading.Tasks命名空间下,通过命名空间也可以看出是个多线程类. 创建Task: Task有很多构造函数,无参有参都有 ...
- 为什么要先装IIS后装.Net Framework?
1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...
- 使用svn钩子遇到的坑
1.svn钩子(hooks)自动部署代码到web目录(以前公司用,很好奇怎么做的,折腾了两天,掉进了坑里)共勉!!! web目录:/home/www/xiaokai svn版本库目录:/svn/xia ...
- pycharm技巧
常用快捷键 1.Ctrl + Enter:在下方新建行但不移动光标: 2.Shift + Enter:在下方新建行并移到新行行首: 3.Ctrl + /:注释(取消注释)选择的行: 4.Ctrl + ...