SVN是集中式的管理方式。大致流程如下:

1、从服务器上将整个项目代码检出到本地电脑硬盘中(一般来说,是从主分支上下载的代码)。
2、然后在svn服务器中建立新的开发分支,将硬盘中的代码提交到该开发分支中。(其实就是新开分支)。
3、接下来就开始开发工作,新增、删除、修改、重写代码将在这段时间内完成
4、临近结束的时候,将新开发的代码提交到第二步新开的分支中。
5、将该分支的代码合并到主分支中,消除冲突,工作就基本结束。

注意:
   往往实际的开发过程中,会有好几个程序员共用一个分支上的同一批文件,当在共同工作的时候,代码修改之间势必会产生冲突,所以应该在要修改之前,先将本地硬盘中的代码更新到开发分支上最新的代码,然后改完后再阶段性提交。

Git 是分布式的管理方式,这点和svn有很大差别,它可以让开发者本地提交,每个开发者的机器上都有一个服务器的数据库。流程如下:

1、从服务器上将代码克隆到本地(这点类似svn的第一步)
2、在本地创建分支,修改代码(svn是在服务器创建分支)
3、在本地创建的分支上提交代码(很不一样吧)
4、在本地合并代码
5、新建一个分支,把服务器上最新版的代码fetch下来,然后和自己的主干合并(相当于重复了第一步,只是将新版代码fetch到新的分支而已)
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果与其他人的代码有冲突,则先解决冲突,然后再提交一份代码。(相当于整理了补丁,最后生成一个补丁用于更新服务器端的主干)

这种管理方式是强调个体的,个体开发者不用经常与服务器交互,几乎可以离线工作,服务器也没有大的压力。

git 常用命令介绍,由于是基于linux的软件,所以需要命令行来控制该管理工具,慢慢来吧

git init
创建一个数据库

git clone
复制一个数据到指定文件夹

git add 和git commit
把想提交的文件add上,然后commit这些文件到本地数据库

git pull
从服务器下载数据库,并跟自己的数据库合并

git fetch
从服务器下载数据库,并放到新分支,不跟自己的数据库合并

git whatchanged
查看两个分支的变化

git branch
创建分支,查看分支,删除分支

git checkout
切换分支

git merge
合并分支,把目标分支合并到当前分支
 
git config
配置相关信息,例如email和name

git log
查看历史版本

git show
查看版本号对应版本的历史,如果参数是HEAD查看最新版本

git tag
标定版本号

git reset
恢复到之前的版本

SVN的管理方式和git的管理方式的更多相关文章

  1. git-svn:通过git来管理svn代码

    简介 svn和git都是常用的版本管理软件,但是git无论在理念或是功能上都比svn更为先进.但是有的公司是以svn作为中央仓库,这时git与svn代码的同步就可以通过 git-svn这个软件进行,从 ...

  2. svn git协同管理

    项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看 ...

  3. SVN和Git代码管理小结

    SVN和Git代码管理小结  之前,先用的是SVN,后来用了Git,最近又在用SVN.  关于代码管理,写几句.    由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...

  4. git版本控制管理实践-4

    vcs: version control system 版本控制系统 local vcs, 集中式版本控制系统: centralized vcs; 分布式vcs: distributed vcs Lo ...

  5. Git 分支管理详解

    大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...

  6. 好代码是管出来的——使用Git来管理源代码

    软件开发过程中一个重要的产出就是代码,软件的编码过程一般是由一个团队共同完成,它是一个并行活动,为了保证代码在多人开发中能够顺利完成,我们需要使用代码版本控制工具来对代码进行统一存储,并追踪每一份代码 ...

  7. git学习------>Git 分支管理最佳实践

    ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...

  8. IOS-源代码管理工具(Git)

    一.简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Benedict ...

  9. IOS Git源代码管理工具

    .新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...

随机推荐

  1. 洛谷 P5089: CodeForces #500 (Div. 1) B / 1012B : Chemical table

    题目传送门:洛谷P5089. 题意简述: 一张 \(n \times m\) 的表格,有一些格子有标记,另外一些格子没有标记. 如果 \((r_1,c_1),(r_1,c_2),(r_2,c_1)\) ...

  2. 001_docker-compose构建elk环境

    由于打算给同事分享elk相关的东西,搭建配置elk环境太麻烦了,于是想到了docker.docker官方提供了docker-compose编排工具,elk集群一键就可以搞定,真是兴奋.好了下面咱们开始 ...

  3. like语句防止SQL注入

    mysql: select * from test where school_name like concat('%',${name},'%')   oracle: select * from tes ...

  4. CentOS下配置MySQL允许root用户远程登录

    1.常用命令: 安装上传下载文件命令yum install lrzsz安装webget工具yum -y install wget ----------------------------------- ...

  5. 解决Spring配置文件不显示design和source, namespace 问题

    之前撸代码一直没太关注这个问题,后来发现对于不太熟悉配置文件内容的小伙伴们来说是比较痛苦的,因为每个配置项都需要你记住或者拷贝别人现成配置 那么问题来了,今天在写发现我的Spring配置文件不显示de ...

  6. Extjs Window用法详解 3 打印具体应用,是否关掉打印预览的界面

    Extjs Window用法详解 3 打印具体应用,是否关掉打印预览的界面   Extjs 中的按钮元素 {xtype: 'buttongroup',title: '打印',items: [me.ts ...

  7. java Stack(栈)

    "Stack" 通常时指"后进后出"(LIFO)的容器,有时栈也被称为叠加栈,因为最后"压入"栈的元素,第一个"弹出"栈 ...

  8. ansible源码解读

    Ansible源码获取 Ansible Github:https://github.com/ansible Ansible目录结构 $ tree -L 2 ansible-2.0.0.0 ansibl ...

  9. KnockoutJs学习笔记(十一)

    enable binding往往作用于form elements,比如input.select和textarea等.包含enable binding的DOM元素会依照enable binding参数的 ...

  10. tispark部署步骤

    正常在我们的环境使用tidb集群,都默认没有spark集群的,但之前部署tidb的时候,spark默认已经和系统编译,下面我们的工作就是搭建spark集群和tikv融合 官方是要我们下载tispark ...