【第22期】观点:IT 行业加班,到底有没有价值?

源代码管理工具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可视化管理工具——Subversion Edge使用

Subversion Edge使用经验之谈 -- 服务器配置篇 由于想通过Subversion来进行内部的版本控制,来有效地控制好每一个版本迭代,提高团队效率。 在安装之前有几点需要注意的地方: ...
  • yahohi
  • yahohi
  • 2015-01-06 19:10
  • 16669

如何通过SVN管理好代码

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

svn代码版本管理总结

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

用Git 进行分布式代码管理

该入门教程的流程是这样的; 什么是Git----------------->为什么选择Git----------------->如何安装Git到MAC OS X------------------>...

管理源代码的工具SVN与GIT

如何看待源代码 源代码是公司的重要资产 对应软件公司来说,源代码相当于固定资产>人才   所以源代码管理对于公司来说是最重要的事物之一   一、管理源代码的工具 SVN:集中式的源代码管...

几种常见代码管理工具比较(2009)

软件配置管理(Configuration Management)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。初读上述定义,感觉不是一点点的有点绕口,枯燥和眩晕了,实...

开发中的代码管理工具熟知

一. 掌握 - git 概述 1. git 简介? 1.什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行...

你使用源码管理工具吗?

原文地址 http://www.cnblogs.com/mindsbook/archive/2009/11/28/do_you_use_scm.html 摘要 本文主要介绍使用源码管理工具的好处,...

从0开始搭建SVN服务器

机器环境:Win7 64位 Eclipse:Neon.1a Release (4.6.1) 在Win7上安装SVN server作为搭建代码服务器,在另外一台机器上提交代码进行测试。一、SVN服务...
  • napoay
  • napoay
  • 2017-01-01 17:00
  • 4256

源代码管理工具-GIT

源代码管理工具-GIT一. git 概述1. git 简介? 什么是git?> git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的 ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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