源代码管理工具SVN和Git小结

原创 2016年08月31日 15:05:01

这篇文章主要是对源代码管理工具进行了一些总结,也算是自己对相关知识的一个梳理。文章主要从为什么使用,基本知识,二者之间的一些常用指令的对比以及冲突的解决进行梳理。文章只是自己的一些理解,可能会有一些偏差,有问题的可以随时提出!

一、为什么要使用源代码管理工具

1、能记录一个项目从开始到结束的整个过程。

2、追踪项目中所有内容的变化情况,如增加了什么内容,删除了什么内容,修改了什么内容等等。

3、版本控制,可以清楚的知道每个版本之间的异同点,如版本2.0相比较版本1.0多了什么内容,功能等。

4、 权限控制,防止代码混乱,提高安全性,防止一些不必要的损失和麻烦,简单的理解就是为什么职位做什么事情,不能越界。如控制程序员A对正在开发的项目具有开发的权限,其他项目不具有开发的权限,如果不进行控制的话,那么对其他项目的开发权限也对程序员A开放,如果程序员A对其他项目不小心进行了错误的操作 如删除,就会造成一些损失。

5、责任追究,防止互相推卸责任,可以清楚的知道谁对哪个文件进行了什么修改,导致了项目无法正常运行。

6、回退处理,执行了错误的操作之后还可以有补救的机会,如从版本1.0升级到版本2.0,后来发现版本2.0有一个错误,这时候可以进行回退处理,比较方便。

7、冲突解决,在团队的多人协同开发中,冲突是经常有的事情,比如存在着相同的文件名称,同一个文件中有着相同功能的函数等等,这时候使用源代码管理工具可以比较方便的解决冲突。冲突的解决一般按照“复制-修改-合并”原则进行。

8、。。。。。。。

二、基本知识

1、一般使用SVN或者Git进行源代码的管理。

2、SVN是集中式的、Git是分布式的。

  2.1集中式:一台服务器控制着所有的代码,这台服务器的代码是最新的,其他电脑的代码操作(如下载、提交)都需要通过这台服务器才可以执行。

  2.2分布式:每台电脑都相当于一个服务器,代码是最新的,比较灵活。

  对比:Git的速度比SVN快;Git比SVN灵活;SVN一旦没有网络或者服务器挂了的话,其他电脑都无法执行操作,但是Git可以先提交到本地版本库,等待联网的时候再提交到远程代码仓库。

3、明白一些基本概念:工作区、本地版本库、服务器(远程代码仓库)。

 3.1 本地版本库可以简单的理解为为.svn(对SVN来讲)或者.git(对Git来讲)文件下的内容,里面记录有关版本的一些信息。

 3.2 工作区就是除了.svn(对SVN来讲)或者.git(对Git来讲)文件下之外的内容,也就是我们平时书写代码的地方。

 3.3 服务器是一个远程代码仓库,用于容易存储代码的地方,一般代码的上传、下载都是通过服务器来操作的。

4、本地版本库和远程代码仓库的交互过程大致为:在本地电脑的工作区写代码,完成之后提交到本地的版本控制库,然后再提交到远程的代码仓库。指令对比如下:

 SVN:add----commit

 Git:add----commit----push

三、对比:

这里写图片描述

四、冲突

1、产生:

1.1 大多数冲突的产生一般是本地仓库的版本低于服务器或者远程仓库版本导致的。

1.2 多人开发中一个项目中存在同名的文件。

1.3 多人同时修改同一个文件,导致这个文件中存在两个同名的方法。

2、解决:冲突的解决一般需要手动解决,遵循着“复制–修改–合并”的原则。

把自己的和服务器的文件同时保留下来,然后根据需要进行修改,修改后进行合并并且再次提交到服务器。

以上就是一些内容的梳理,有些疏漏在所难免,欢迎指正!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

如何通过SVN管理好代码

市面上有许多版本控制系统,如微软的VSS、TeamCoherence、SVN等,从这三款的使用经验来看,SVN最强大了,对源代码的语言没有限制,还可以管理word文件,而且有大量的用户群,如Apach...

[CodeVersion--SVN]用TortoiseSVN进行本地代码管理

简述这里讨论的是如何管理自己个人电脑的个人项目的代码。和SVN服务器配置无关。 因为在自己电脑进行个人项目时,许多时候也会遇到阶段性的功能完成,一般会考虑将这个时间节点的代码压缩成一个包,打上时间点...

TortoiseSVN入门篇 - 将已有项目代码加入svn版本控制

Windows下SVN实用教程(以TortoiseSVN作为client) by Nikolai Shokhirev Next: Repository backup and restore Conte...

svn代码版本管理总结

介绍svn工具进行版本管理代码,说明trunk, branch, tag,release的用途,使用方法等

分布式代码管理工具git(1)

Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,...

(1)kali第二章 侦查

1.从目标网站可以获取一些信息,比如组织架构、电话号码等 2.此外,通过http://archive.org/web/web.php、http://waybackdownloader.com/ 还可以...

Git 版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器)1、 Git 背景...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)