version control
what
how
版本控制基本流程如下:
why
你的项目团队为什么需要一个自动化的版本控制工具?有以下几个理由:
它将跟踪项目的历史和演变,所以你不必亲为。对于项目的每个变化,都会有一个日志来记录谁做的修改,为什么修改,什么时候进行的修改,修改了些什么。
当你与其他人合作时,版本控制软件使你们更便于协作。例如,当人们或多或少同时进行可能不兼容的更改时,软件将帮助你识别和解决这些冲突。
它可以帮助你从错误中恢复。如果您进行的更改后来证明是错误的,您可以将一个或多个个文件还原到一个早期的版本。事实上,一个真正好的版本控制工具甚至可以帮助你有效地确定问题是何时引入的(详见“找出错误的源头”)。
可以让你并行地工作,并管理你在项目中多个版本之间的跳转。
一个项目,无论只有你一个人,还是还有几百个别人,这些理由中的大部分都成立——至少在理论上。
在两种不同规模的项目(“个人”和的“大型团队”)中,版本控制的可行性关键在于它的使用收益和使用开销之比。一个难以理解和使用的版本控制工具必定会加大开销。
对于一个五百人的项目,在没有版本控制工具和方法的情况下,由于其自身的体量,有可能会立即崩溃。这种情况下,版本控制的开销几乎可以忽略不计,因为没有它,项目注定会失败。
另一方面,版本控制工具对于一个人的“快速上手”式开发看上去并不合适,因为其真正的使用开销与项目的总体开销相接近,是吗?
Mercurial独有地支持这两种级别的开发。由于容易上手,你可以非常轻松地在几分钟内学会基本知识,并在最小的项目中使用它来进行版本控制。它的简单性意味着不会有很多深奥的概念或命令序列需要你去掌握,而只需专注于你真正想做的工作。同时,Mercurial的高性能和点对点的特性又可以让您轻松的处理大型项目。
任何版本控制工具都不能挽救一个糟糕的项目,但是,选择一个好的工具能够对项目进展是否顺畅造成巨大的影响。
version control的更多相关文章
- xcode svn commit is not under version control (1) & git commit
使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...
- which type of VS files should be committed into a version control system
which type of VS files should be committed into a version control system? aps, no: last resource edi ...
- svn: warning: 'xxxxxx' is already under version control
[root@NGINX-APACHE-SVN pm]# svn status ? plugins ? files ? images ? data ? resources [root@NGINX-APA ...
- svn is already under version control问题解决
svn ci 时出现 xx is already under version control,然后无法提交,出现这个问题的原因是你所提交的文件或目录是其他SVN的东西,即下面有.svn的目录,需要先把 ...
- Git&Version Control
Git Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...
- Version Control/Git,SVN
一.Version Control 1.什么是Version Control 版本控制(Version Control)是指对软件开发过程中各种程序代码.配置文件及说明文档等文件变更的管理,是软件配置 ...
- xcode svn commit is not under version control 和 git常用指令
使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...
- version control的简单认知
version control 版本控制是一种记录文件或文件集随时间变化的系统,以便您以后可以调用特定版本.对于本书中的示例,您将使用软件源代码作为受版本控制的文件,但实际上您可以使用计算机上的几乎任 ...
- 【转】svn:is not under version control and is not part of the commit, yet its child解决办法
来自:http://blog.csdn.net/lufeng20/article/details/7641093 在把写好的代码提交到svn上面时,遇到了一个错误如下: svn: Commit fai ...
- 版本控制 version control和团队协作
这些技术你可能暂时不会用到,但是一旦软件体量变大,开发人数增加,这就带来质变,需要借助一些工具或者技术才能完成这些复杂的工程. 你可以从最简单的情况思考,你可以对任何类型的文件进行版本控制,比如一个p ...
随机推荐
- MFC 中MessageBox 显示在所有窗口的最上面
int MessageBox( HWND hWnd, // handle of owner window LPCTSTR lpText, // address of ...
- python深拷贝,浅拷贝
1.浅拷贝, 首先要引用copy包 from copy import copy class A: def __init__(self): self.A=1 self.B=2 a = A() copy( ...
- 算法之Python实现 - 001 : 换钱的最少货币数
[题目]给定数组arr,arr中所有的值都为正数且不重复.每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求组成aim的最少货币数. [代码1]:时间与额外 ...
- 爬虫之scrapy扩展
针对pipelines的扩展 from scrapy.exceptions import DropItem class CustomPipeline(object): def __init__(sel ...
- oracl遇到的问题
使用oracl数据库用 ALTER TABLE Students ADD CONSTRAINT PRINF_NAME_UNIQUE UNIQUE (sname) 添加唯一性约束,出现问题,报错为:a ...
- OGRE中Any 类型的实现
[OGRE中Any类型的实现] OGRE中实现了一个class Any,使用Any 可以在上下文中传递任意类型的数据.其本质实现原理就是通过指针. Any 只包含一个成员变量,类型为 placehol ...
- 学生管理系统(javaweb版)
准备用javaweb 的技术做一个简单的学生管理系统 打算不用登陆的那种,直接进入管理界面. 完成增删改查的功能. 慢慢开始更新,先写那么多.
- centos7 tomcat8+jdk1.8
(1) 下载Tomcat8压缩包进入 http://tomcat.apache.org/download-80.cgi 在binary Distributions下面,选择tar.gz包下载 [tar ...
- 既然还看不到未来之光,那就从骄阳开始的地方--IT携行
对于还没真正踏入IT的小白菜来说,哪有资格把刚学到的鸡毛蒜皮儿,三脚猫都不算的东西逮出来献丑,献丑都不算,还不如我们来谈谈人生,练练脸皮...... 我出发的起点肯定不同,多方限制,可能缺乏时光;那正 ...
- [translation]The rise of college ‘Grade Forgiveness’
Education 教育 The rise of college 'Grade Forgiveness' /*the rise of -的增加*/大学等级宽恕现象的增加. Universities a ...