版本管理

使用TortoiseSVN进行分支管理

半腔热情 提交于 2019-12-04 06:12:00
SVN中的Branch/tag在一个功能选项中,在使用中很容易产生混淆。 分支(Branch)管理和标记(Tag)管理,版本管理系统有两个基本的功能。 分支用于在并行开发,这里的并行是指和trunk(主分支)的并行。 而tag是用来做一个里程碑(milestone),不管是不是release,都是一个可用的版本。 那么什么时候用到tag管理?什么时候用到Branch管理? 我举两个场景: 场景一,有客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码。 场景二,我们正在开发产品下阶段的任务,但上阶段的工作发现问题 以场景二为例,项目某一阶段开发完成后,这个时候要做一个tag,tag_mfcai_V1.01.00, 然后基于这个tag发布一个新的版本,假设项目是web项目,那么基于这个tag发布一个war包。 然后trunk进入下阶段继续开发,但是很不幸发布的版本被检测出来了bug,有人会提议,把bug放到下阶段的任务中去。假设下阶段的任务才刚开始,用户可等不起.他们会认为一个小的bug解决要这么长时间,效率太低了. 那么就需要基于tag_mfcai_V1.01.00做一个branch,branch_bugfix_V1.01.00,基于这个branch进行bugfix, 等到bugfix结束,做一个tag,tag名称假设为:tag_mfcai_V1.01.01

Linux 下的 Python 多版本管理(pyenv)

浪子不回头ぞ 提交于 2019-12-04 06:10:40
#简介 提到 Python 环境管理,更多人可能会首先想到 virtualenv。但与用于创建独立包环境的 virtualenv 不同,pyenv 的作用仅限于维护不同版本的 Python。它的使用不依赖于 Python,是一个简单、独立的纯 shell 脚本工具。pyenv 也以 pyenv-virtualenv 插件的形式支持 virtualenv,强烈建议使用。安装后比较方便的是可以在你 cd 到项目目录时自动切换相应的虚拟环境,而不用老是 source . <br /> ###需求 ------------ 出于种种原因,很多人的电脑上会同时安装很多个版本的 Python,比如会有 2.7 + 3.4。一般在 windows 下我们都可以通过使用绝对路径的方式来绕过系统对 PATH 环境变量的查询;在 Linux 下除了这种方式外,还可以在脚本文件开头显示指定需要使用的解释器,就像这样:`#!/usr/bin/env python2.7` 或 `#!usr/bin/env python3.4`。一旦特定版本的解释器被打开后,就不用再担心 PATH 的问题了。 就是有点麻烦。所以为了能让用户随心所欲地使用不同版本的诸如 python、pip、django-admin.py 这样的命令,本篇的主题,pyenv 就被开发出来了。pyenv 在安装和配置完毕后可以实现:一键(命令

Tortoises SVN 教程

守給你的承諾、 提交于 2019-12-04 05:16:51
Tortoises SVN 教程 1. TortoiseSVN 简介 版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会 花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工 作的团队 - 或许是同时工作在同一个文件! - 你就会明白为什么一个好的系统需要 管理潜在的混乱。 2. 什么是 TortoiseSVN TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。 某些版本控制系统也是软件配置管理 (SCM) 系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。 3. 名词解释 3.1 检出工作副本 你的版本库就像是一台时间机器,它记录了所有提交的修改,允许你检查文件或目录以及相关元数据的历史。通过一个 Subversion

第三章·MySQL版本区别及管理

久未见 提交于 2019-12-03 20:54:03
一.MySQL5.6与MySQL5.7安装的区别 1、cmake的时候加入了bostorg 2、初始化时 使用mysqld --initialize 替代mysql_install_db,其它参数没有变化:--user= --basedir= --datadir= 3、--initialize会生成一个临时密码 4、还可以用另外一个参数--initialize-insecure [root@db02 mysql-5.7.20]# yum install -y gcc gcc-c++ automake autoconf [root@db02 mysql-5.7.20]# yum install make cmake bison-devel ncurses-devel libaio-devel [root@db02 mysql-5.7.20]# wget httpss://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_59_0.tar.gz #登录boost.org下载也可以 [root@db02 mysql-5.7.20]# tar xf boost_1_59_0.tar.gz -C /usr/local/ [root@db02 mysql-5.7.20]# cmake . -DCMAKE_INSTALL_PREFIX=

Go的包管理工具(一)

≡放荡痞女 提交于 2019-12-03 20:21:51
在前面转载了系列文章: Golang 需要避免踩的 50 个坑 ,总得来说阅读量都挺大。今天这篇文章,咱们一起聊聊Go的依赖包管理工具。 背景 每一门语言都有其依赖的生态,当我们使用Java语言的时候,使用Maven或者Gradle管理包依赖。早期的Go被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个 GOPATH 的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego 1.1,B工程依赖的是Beego 1.7,我必须设置两个 GOPATH 来区分,并且在切换工程的时候 GOPATH 也得切换,无比痛苦。在Golang 1.5 release 开始支持除了 GOROOT 和 GOPATH 之外的依赖管理:vender,官方 wiki 推荐了多种支持这种特性的包管理工具,如:Godep、gv、gvt、glide、govendor和官方的dep等。 环境准备 安装Go 笔者是Mac系统,安装Go有多种方式,通过brew、下载源码安装go等方式可以安装go。 在bash_profile中自定义GOPATH和GOBIN位置: GOROOT=/usr/local/go export GOPATH=/Users/user/aoho/go-workspace export GOBIN=$GOPATH

Linux RabbitMQ导入管理界面报错

你。 提交于 2019-12-03 18:29:30
执行rabbitmq-plugins enable rabbitmq_management报错如下 Plugin configuration unchanged. Applying plugin configuration to rabbit@hj... failed. Could not contact node rabbit@hj. Changes will take effect at broker restart. Options: --online - fail if broker cannot be contacted. --offline - do not try to contact broker. 最后是版本不和的问题 因为我是编译安装的,然后用yum 安装就好了 来源: 51CTO 作者: kong2432 链接: https://blog.51cto.com/14174084/2396751

数据库(分库分表)中间件对比

非 Y 不嫁゛ 提交于 2019-12-03 15:22:28
数据库(分库分表)中间件对比 https://www.cnblogs.com/cangqiongbingchen/p/7094822.html 基本概念:分区,分片,分表,分库 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索引文件(MYI)进行了分割,分区后的表呢,还是一张表。分区可以把表分到不同的硬盘上,但不能分配到不同服务器上。 优点:数据不存在多个副本,不必进行数据复制,性能更高。 缺点:分区策略必须经过充分考虑,避免多个分区之间的数据存在关联关系,每个分区都是单点,如果某个分区宕机,就会影响到系统的使用。 分片:对业务透明,在物理实现上分成多个服务器,不同的分片在不同服务器上 个人感觉跟分库没啥区别,只是叫法不一样而已,值得一提的是关系型数据库和nosql数据库分片的概念以及处理方式是一样的吗? 请各位看官自行查找相关资料予以解答 分表:当数据量大到一定程度的时候,都会导致处理性能的不足,这个时候就没有办法了,只能进行分表处理。也就是把数据库当中数据根据按照分库原则分到多个数据表当中, 这样,就可以把大表变成多个小表,不同的分表中数据不重复,从而提高处理效率。 分表也有两种方案: 1. 同库分表:所有的分表都在一个数据库中,由于数据库中表名不能重复

GIT版本管理工具教程

左心房为你撑大大i 提交于 2019-12-03 15:06:35
GIT版本管理工具教程 一 Git初始化 下载安装, 下载地址: https://git-scm.com/downloads 每个系统的都有(linux、mac、windows等),看官网的安装教程,很详细,此处我以windows来练习 首先创建一个文件夹,这个文件夹就是我们将来通过git来管理的所有文件的存放地点 。 在文件夹中右键 使用Git Bash 在弹出的窗口中执行初始化指令,让git帮我们对这个文件夹中的所有文件以及文件夹进行管理 git init #创建git版本管理的本地仓库 产生的.git文件夹用来存放你管理的文件的所有版本以及git配置相关的内容,不要轻易动它 二 简单指令使用 基本操作 git status 查看仓库中所有的文件夹和文件的状态 git add supercrm 让git管理单独的文件夹或者文件 git add . 管理所有文件和文件夹 配置用户名和邮箱 $ git config --global user.name <用户名> $ git config --global user.email <邮箱地址> 例如: $ git config --global user.name "吴超" $ git config --global user.email "1069696250@qq.com" 然后就可以提交版本了,看指令 git commit

Git Flow-基于git的源代码管理模型

邮差的信 提交于 2019-12-03 10:52:32
Git Flow 是什么 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践。Git Flow是一套使用Git进行源代码管理时的一套行为规范和简化部分Git操作的工具。 2010年5月,在一篇名为“ 一种成功的Git分支模型 ”的博文中,@nvie介绍了一种在Git之上的软件开发模型。通过利用Git创建和管理分支的能力,为每个分支设定具有特定的含义名称,并将软件生命周期中的各类活动归并到不同的分支上。实现了软件开发过程不同操作的相互隔离。这种软件开发的活动模型被nwie称为“Git Flow”。 一般而言,软件开发模型有常见的瀑布模型、迭代开发模型、以及最近出现的敏捷开发模型等不同的模型。每种模型有各自应用场景。Git Flow重点解决的是由于源代码在开发过程中的各种冲突导致开发活动混乱的问题。因此,Git flow可以很好的于各种现有开发模型相结合使用。 在开始研究Git Flow的具体内容前,下面这张图可以看到模型的全貌(引自nvie的 博文 ): Git Flow中的分支 Git Flow模型中定义了主分支和辅助分支两类分支。其中主分支用于组织与软件开发、部署相关的活动;辅助分支组织为了解决特定的问题而进行的各种开发活动。 主分支 主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中

GIT版本管理工具教程

江枫思渺然 提交于 2019-12-03 10:48:16
原文: GIT版本管理工具教程 GIT版本管理工具教程 目录 GIT版本管理工具教程 一 Git初始化 二 简单指令使用 基本操作 简单总结 三 Git进阶 Git三大区域 Git回滚 Git分支 Git工作流 四 Github代码管理仓库 第一步:注册Github账号 第二步:创建仓库 第三步:Github保存代码 第四步: 拉取GitHub上的代码继续开发 第五步:换一个电脑继续开发 第六步: 如果在公司忘记提交代码,怎么搞? 五 rebase变基 rebase的第一个场景 rebase的第二个场景 rebase的第三个场景 六 Git配合Beyond Compare来解决冲突 七 Git多人协作开发 第一步:创建组织 第二步:GitHub组织中邀请成员 八 给开源项目贡献代码 第一步:找项目 第二步:fork 第三步:在自己的仓库中修改代码 第四步: 提交pull request 九 Git配置文件详解 十 Git远程仓库免密登陆 十一 Git忽略文件 十二 GitHub做任务管理相关  1.issues 2.wiki GIT版本管理工具教程 一 Git初始化 下载安装, 下载地址: https://git-scm.com/downloads 每个系统的都有(linux、mac、windows等),看官网的安装教程,很详细,此处我以windows来练习 首先创建一个文件夹