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 ...
随机推荐
- su: cannot set user id: Resource temporarily unavailable【转】
今天R&D所在主机出现su: cannot set user id: Resource temporarily unavailable资源不可用报错,直接通过其他机器ssh huyuh@xxx ...
- React-Native 之 ListView使用
前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所 ...
- Project Euler Problem3
Largest prime factor Problem 3 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest p ...
- LeetCode(22):括号生成
Medium! 题目描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", ...
- Oracle学习笔记:使用replace、regexp_replace实现字符替换、姓名脱敏
在数据库中难免会遇到需要对数据进行脱敏的操作,无论是姓名,还是身份证号. 最近遇到一个需求,需要对姓名进行脱敏: 姓名长度为2,替换为姓+*: 姓名长度为3,替换中间字符为*: 姓名长度为4,替换第3 ...
- c run-time library 和 standard c++ library
参考: c run-time libraries: http://msdn.microsoft.com/zh-cn/library/vstudio/abx4dbyh(v=vs.100).aspx H ...
- 「SCOI2011」糖果
蒟蒻又回来写题解了... 题面 幼儿园里有 N 个小朋友, lxhgww 老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红 ...
- 使用Golang编写优化算法 (1)
动手写点东西是学习新知识很重要的一个阶段.之前用 Python 和 JavaScript 实现优化算法,现在用 Golang 来实现.语法上略有不爽,某些C语言的思维又回来了. - Golang 用 ...
- 011.KVM-V2V迁移
一 虚拟化存储池 1.1 创建虚拟化存储池 [root@kvm-host ~]# mkdir -p /data/vmfs 1.2 定义存储池与目录 [root@kvm-host ~]# virsh p ...
- 微信小程序之下拉刷新,上拉加载更多
近日开发微信小程序,发现上拉加载更多没有友好的API,而下拉刷新很nice,所以本人按照API,很简单的写了一个示例,希望对大家有帮助,本人用的是iview-webapp 小程序UI框架. 1. 首 ...