SVN的管理方式和git的管理方式
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的管理方式的更多相关文章
- git-svn:通过git来管理svn代码
简介 svn和git都是常用的版本管理软件,但是git无论在理念或是功能上都比svn更为先进.但是有的公司是以svn作为中央仓库,这时git与svn代码的同步就可以通过 git-svn这个软件进行,从 ...
- svn git协同管理
项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看 ...
- SVN和Git代码管理小结
SVN和Git代码管理小结 之前,先用的是SVN,后来用了Git,最近又在用SVN. 关于代码管理,写几句. 由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...
- git版本控制管理实践-4
vcs: version control system 版本控制系统 local vcs, 集中式版本控制系统: centralized vcs; 分布式vcs: distributed vcs Lo ...
- Git 分支管理详解
大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...
- 好代码是管出来的——使用Git来管理源代码
软件开发过程中一个重要的产出就是代码,软件的编码过程一般是由一个团队共同完成,它是一个并行活动,为了保证代码在多人开发中能够顺利完成,我们需要使用代码版本控制工具来对代码进行统一存储,并追踪每一份代码 ...
- git学习------>Git 分支管理最佳实践
ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...
- IOS-源代码管理工具(Git)
一.简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict ...
- IOS Git源代码管理工具
.新建一个“本地仓库” $ git init .配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.em ...
随机推荐
- 第一篇:初始Golang
Golang简介 编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C 等,偏快速业务开发的动态解析型语言有PHP.Python.Perl.R ...
- Linux TTY驱动--Uart_driver底层【转】
转自:http://blog.csdn.net/sharecode/article/details/9196591 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux 中将串口驱动进行了 ...
- Android Studio引用第三方jar包(例如:使用LitePal)
如何使用LitePal的教程网上很多,不过对于新手,这些教程中遗漏了将第三方jar包拷贝到app->libs路径下后,还需要add as library. 下载LitePal 这时操作步骤如下: ...
- contos 7创建阿里云镜像源
今天在ESC上安装mariaDB,发现centOS 7默认的yum源上的mariaDB版本过低,然后又镜像到网易上,发现网易源上没有mariaDB,几经折腾才发现阿里镜像上mariaDB版本较新.更改 ...
- MongoDB存储基础教程
一.MongoDB简介 1. mangodb是一种基于分布式.文件存储的非关系型数据库 2. C++写的,性能高 3. 为web应用提供可扩展的高性能数据存储解决方案 4. 所支持的格式是json格式 ...
- SqlServer中 CREATE PARTITION FUNCTION使用
表分区的操作三步走: 1.创建分区函数 CREATE PARTITION FUNCTION xx1(int) 解释:在当前数据库中创建一个函数,该函数可根据指定列的值将表或索引的各行映射到分区. 语法 ...
- .NetCore中结合ExceptionLess的处理对Polly再次封装
/// <summary> /// Polly封装 liyouming /// </summary> public class PollyServicesFactory { p ...
- nvidia-smi 命令解读
nvidia-smi 的定义: 基于 NVIDIA Management Library (NVIDIA 管理库),实现 NVIDIA GPU 设备的管理和监控功能 主要支持 Tesla, GRID, ...
- 【BZOJ】4361: isn
题解 可以想一下保留一个长度为k的不降序列方案数是\(f[k] (n - k)!\) \(f[k]\)是有多少个长度为k的不降序列 我们去掉不合法的,一定是前一次操作的时候有一个长度为\(k + 1\ ...
- PHP实现数据分页显示
分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理. 实例代码如下: <!DOCTYPE html> <html> <head> <meta cha ...