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 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...
随机推荐
- google大赛 入围赛250分真题
Problem StatementYou have a collection of music files with names formatted as "genre-artist-alb ...
- 大漠推荐的教程:创建你自己的AngularJS -- 第一部分 Scopes
创建你自己的AngularJS -- 第一部分 Scopes http://www.html-js.com/article/1863
- explicit构造函数的作用
explicit构造函数是用来防止隐式转换的.请看下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
- 运行时修改TimerTask的执行周期
java.util.TimerTask类的执行周期period变量的声明如下: /** * Period in milliseconds for repeating tasks. A positive ...
- flume-ng+Kafka+Storm+HDFS 实时系统搭建
转自:http://www.tuicool.com/articles/mMrQnu7 一 直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm ...
- vim使用详解
1 插入类命令 i // 在当前字符前插入 I // 在当前行首插入 a // 在当前字符后写入 A ...
- 有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
#include<stdio.h> int main() { ]={,,,,,,,,}; int i,tmp; ;i<;i++) { ) { tmp=a[i]; a[i]=a[a[i ...
- hdu 3389 Game (阶梯博弈)
#include<stdio.h> int main() { int t,n,ans; int i,j,x; scanf("%d",&t); ;j<=t; ...
- 【转】SIP 中的Dialog,call,session 和 transaction
如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑. ...
- Haproxy安装及配置
1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.t ...