年末整理git和svn的使用心得
实习加毕业工作也一年多了,用过svn 也用过git,现在也是两种版本管理工具交替不同的项目再用。
趁年末放假之际,来梳理下。
对于SVN常用命令:
.svn cp svn-trunk地址 svn-branches地址 创建分支 .svn sw branch-name 切换分支 .svn merge branch-name 合并分支 .svn revert flie-name 忽略修改文件 .svn status 查看当前文件状态 .svn add flie-name 添加文件至版本库 .svn commit -m "备注信息" 提交代码至版本库 .svn up 从版本库更新代码
对于SVN使用中唯一觉得最大的优点就是我可以单文件独立,新建分支,其他文件依旧能够更新主干上的代码。
当然这也是导致不太喜欢SVN的一个原因之一,就是为了避免长时间开发最终合并分支出现冲突,所以常常在小范围内建分支,单文件分支较多,前后端分支在一起加起来,最多的时候能有20个分支,切分支和分支真的很浪费时间(因为我用命令行),所以这也是我觉得SVN优缺点的利与弊之一。
对于git的常用命令:
.git clone git@gitxxxxxx 从git仓库克隆代码至本地 .git checkout -b branch-name 新建分支并切换到分支 .git push origin branch-name 把本地分支推送到远程仓库 .git branch -a 查看所有分支(包括远程仓库的分支) .git checkout branch-name 切换分支 .git checkout flie-name 忽略文件修改 .git status 查看当前分支或master上文件修改状态 .git add --a 添加所有修改文件至本地暂存工作区 .git commit -m "备注信息" -a 提交修改至工作区 .git push 将本地修改推送至版本库 .git pull 从版本库更新代码至本地
对于git的好感度一直远超于SVN(可能是因为一开始的先入为主),当然其中因为git 是分布式的,而svn是集中式的,只要我本地克隆了代码,哪怕我无网络的修改了代码,但我依然能提交至我的工作区,等有网络后再进行远程推送,而SVN就没有这一个特性。git的优点除了分布式,git的分支树也比SVN要好太多,但svn的权限控制确实要强大的多,不是root用户对于有些文件没有任何的操作权限,而git只要是你克隆下来的文件你都可以进行操作。
总而言之,git分布式版本控制更好,而svn代码权限控制更好。
这是我个人的想法,我还小,不喜勿喷哈~
年末整理git和svn的使用心得的更多相关文章
- 蒋鑫:为什么 Git 比 SVN 好
在版本控制系统的选型上,是选择Git还是SVN? 对于开源项目来说这不算问题.使用Git极大地提高了开发效率.扩大了开源项目的参与度. 增强了版本控制系统的安全性,选择Git早已是大势所趋. 但对于企 ...
- 为什么说 Git 比 SVN 更好
为什么说 Git 比 SVN 更好 在版本控制系统的选型上,是选择Git还是SVN? 对于开源项目来说这不算问题.使用Git极大地提高了开发效率.扩大了开源项目的参与度. 增强了版本控制系统的安全性, ...
- 为什么Git 比 SVN 好
原文链接:http://www.worldhello.net/2012/04/12/why-git-is-better-than-svn.html Why Git is better than SVN ...
- 国内代码托管平台(Git和SVN)
Github(Git和SVN)https://github.com/ 可以说GitHub的出现完全颠覆了以往大家对代码托管网站的认识.GitHub不但是一个代码托管网站,更是一个程序员的SNS ...
- GIT和SVN之间的区别及基本操作对比
1)GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如 SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或 ...
- GIT和SVN之间的五个基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- GIT与SVN的区别
1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.如果你能理解这个概念,那么你就已经上手一半了.需要做一点声明,GIT并不是目前第一个或唯 ...
- git vs svn
http://www.tuicool.com/articles/e2MnAb Git与SVN的不同之处 svn为集中化的版本控制,svn获取最新的版本或者提交更新,历史记录等信息每次都要连接中央版本库 ...
随机推荐
- MySQL之查询优化方式(笔记)
1.COUNT() 对COUNT的优化可以通过下面的SQL实现 mysql> select count(gnp<10000 or null) as '<<<<',c ...
- 如何使用C API来操作UCI
https://forum.openwrt.org/viewtopic.php?pid=183335#p183335 Compiling UCI as stand alone with an exam ...
- Oracle 跨库 查询 复制表数据 分布式查询
方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问 ...
- C#如何将Build成功的程序集Copy到上一层目录
C#Build成功后,会把Build好的程序集放到bin\Debug的目录下,如何将目录放到特定目录 例如放到bin目录下,copy "$(TargetFileName)" &qu ...
- C# 4.0 Parallel
C# 4.0 并行计算部分 沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持. 我们会用到的方法有For,ForEach,Invo ...
- springmvc3.1.1+hibernate4
上篇介绍了基本的配置,这篇着重介绍与hibernate4整合. 1.web.xml文件中加入spring-hibernate的配置.新的web.xml文件内容如下: <?xml version= ...
- vj1011:记忆化搜索
vj1011:记忆化搜索 这题就是很简单的记忆化搜索即可,和经典题目滑雪简直一模一样 对于记忆化搜索,我也是暑假看了ccy大神的题解才有所领悟的 其实也就是DFS+mark 主要的部分 int sea ...
- MySQLdb/mysql-python安装时EnvironmentError: mysql_config not found
代码:root@vpser:~# cd MySQL-python-1.2.3root@vpser:~/MySQL-python-1.2.3# python setup.py install sh: m ...
- [RM 状态机详解1] RMApp状态机详解
概述 Apache Hadoop 2.0在Hadoop 1.0基础上做了许多的重构工作,代码上的重构最大的变化在于引入状态机处理各个角色的状态与变迁,使用状态机是得代码结构更加清晰,方便异步处理各种操 ...
- Linux 环境进程间通信(六):
linux下进程间通信的几种主要手段: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允 ...