git项目实战常用workflow和命令
一个从无到有的项目大体经历-创建项目目录,创建repo,配置过滤集,配置git user,导入已有基础代码入库,将库放到central去,建立分支,修改代码,checkin代码,分支上
测试验证代码,merge稳定代码回主线,打tag,push到中央库分享
mkdir app
cd app
git init
cd .git
vi description
cd info
sudo vi exclude
cd ../../ (app目录)
git add --all
git commit
git checkout develop :创建一个永久的branch : develop用于项目组做下一个release的开发
git checkout featureteam_xxxfeature :创建一个为team开发共享半临时的分支: featureteam_xxxfeature
git remote add origin https://xxx@github.com/xxx/yyy.git
git push origin master :将上述项目的baseline,所有供开发测试的永久分支push到中央库中
在生产服务器上
git clone https://xxx@github.com/xxx/yyy.git /var/www/html/www/mywebsite
项目组开发环境中:
git clone https://xxx@github.com/xxx/yyy.git
git checkout --track develop :项目成员创建一个local tracking branch,和中央库的develop建立映射关系
git checkout --track featureteam_xxxfeature :项目组feature team创建一个local tracking branch,和中央库的featureteam_xxxfeature建议映射关系,以便共享工作和协同开发
//git checkout -b develop 创建一个integration分支用于集成所有的feature
git checkbout -b xxxfeature_zhangsan :创建xxxfeature分支下面的_zhangsan分支,以便本地开发,并且最终merge到xxxfeature分支,并且push相对稳定的版本到中央库。注意:之所以不直接在featureteam_xxxfeature这个feature team共用的分支上直接开发,是因为有可能在本地开发过程中,需要pull feature team其他成员的贡献到这个分支。
git branch -a
git commit -a -m "your commit msg"
git checkout featureteam_xxxfeature
git merge xxxfeature_zhangsan :merge zhangsan的修改到xxxfeature_zhangsan公共分支上
git push origin xxxfeature_zhangsan :分享自己测试完毕的feature代码
git checkout develop
git merge featureteam_xxxfeature :由team leader来做整个feature的merge,并且push分享到develop集成流上去
git push
测试。。。
继续集成其他的feature,测试,版本基本稳定后
git checkout master
git merge develop
git tag Release2.0 //所有稳定准备放到服务器上部署的版本都放在master branch上
git push origin master
生产环境服务器上执行:
git pull origin master 部署新的代码
如果要在生产环境上rollback,则只需要git checkout Release1.0即可。当然在生产环境下的部署还有一些额外的工作,比如数据库schema也发生了变化,生产数据的导入等,可以通过hook来自动实现
git项目实战常用workflow和命令的更多相关文章
- git 项目最常用命令总结
本文为博主原创,未经允许不得转载: 1.查看git基础配置信息 1.查看用户名和邮箱地址 git config user.name git config user.email 2.修改用户名和邮箱 ...
- IDEA Git 项目实战场景
实战场景一:上班啦,从远程仓库克隆项目到本地仓库(Clone) 打开 IDEA,在 Check out from Version Control 下拉菜单选择 Git,如下: 在弹出窗口的 URL 地 ...
- 脑洞大开--一条项目中常用的linux命令引发的经典算法题
小时候家里定了<读者>的月刊,里面记录一个故事:说有有个偏僻的乡村一日突然来了一个美女,她携着万贯家财子女在当地安家落户,成了当地的乡绅.她让她的子女世世代代的保守这个秘密,直到这个秘密不 ...
- 【61】git项目实战的步骤总结
1.新建分支的步骤 git pull git checkout -b 分支号(task的后面的代号) 2.提交代码到远程仓库的步骤 git add . git commit -m "分支号+ ...
- 一条项目中常用的linux命令引发的经典算法题
小时候家里定了<读者>的月刊,里面记录一个故事:说有有个偏僻的乡村一日突然来了一个美女,她携着万贯家财子女在当地安家落户,成了当地的乡绅.她让她的子女世世代代的保守这个秘密,直到这个秘密不 ...
- Git项目实战篇
版本控制器:Git # 达到多人协同开发的目的 安装 """1.下载对应版本:https://git-scm.com/download2.安装git:在选取安装路径的下一 ...
- 项目中常用的linux命令
1. du -sm * | sort -n 把当前目录下的文件(或目录)按大小排序,看下哪个地方占用最多: 2. pwd 获取当前目录路径 3. tail -f ...
- 项目中常用git命令操作指令(一般正常的话够用不够再看相关git命令)
配置git1.首先在本地创建ssh key:ssh-keygen -t rsa -C "github上注册的邮箱" //(一路回车)2.进入c:/Users/xxxx_000/.s ...
- Git 入门和常用命令详解
git 使用使用教程 git 使用简易指南 常用 Git 命令清单 下载 https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...
随机推荐
- MAC OS下使用Xcode进行GLSL编程的配置过程
整理自之前使用的163博客原创文章. GLSL项目中需要使用GLEW库,因此先要安装GLEW库和在Xcode中配置GLEW.要使GLEW在Xcode中被正确链接,又需要通过MacPorts来安装GLE ...
- Javascript 图片延迟加载之理论基础
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- SQL技术内幕-10 in和exists 性能比较
in和exists in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询. 一直以来认为exists比in效率高的说法是不准确的. 如果查询的两 ...
- Win 7英文系统显示中文乱码的解决(转)
Win 7英文系统显示中文乱码的解决http://www.enet.com.cn/article/2011/0811/A20110811896633.shtml 请点击Startmenu并点击Cont ...
- poj 3468(线段树+lazy思想)
题目链接:http://poj.org/problem?id=3468 思路:如果直接去做,每次都更新到叶子节点,那必然会TLE,我们可以采用lazy的思想:没必要每次更新都更新到叶子节点,只要有一个 ...
- JQuery的第一天实战学习
1.按照下面的工程来建: 2.新建UserVerify.html文件: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona ...
- Sold out
When will the writer see the play? 'The play may begin at any moment,'I said. 'It may have begun alr ...
- OSVERSIONINFO的用法及实例
OSVERSIONINFO 快速信息 Windows NT 支持 Windows 95 支持 Win32s 支持 引入程序库 - 头文件 win ...
- 如何使用SPY++查找
自动化测试中,如果需要做UI automation的时候往往需要抓取object的工具.实际上这种工具有很多,认识的大牛使用SPY++,于是我也选择了这个.下面列出基本使用方法.有点像XACC spy ...
- 性能测试问题_Mysql数据库服务器的CPU占用很高
MySQl服务器CPU占用很高 1. 问题描述 一个简单的接口,根据传入的号段查询号码归属地,运行性能测试脚本,20个并发mysql的CPU就很高,监控发现只有一个select语句,且表建立了索引 ...