年末整理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获取最新的版本或者提交更新,历史记录等信息每次都要连接中央版本库 ...
随机推荐
- 基于NHibernate二级缓存的MongoDB组件
设计一套基于NHibernate二级缓存的MongoDB组件(上) 摘要:NHibernate Contrib 支持很多第三方的二级缓存,如SysCache,MemCache,Prevalence ...
- UC编程:环境变量的查询与修改
每个程序中都维护一个指向环境变量的指针char **environ; 子进程会从父进程继承环境变量.子进程环境变量的修改不一定会影响父进程 无关的多个进程之间修改环境变量不会互相影响 打印环境变量 [ ...
- ubuntu安装nVidia驱动,遇到终端闪砾问题并解决
安装nvidia的官方驱动之后,比起nouvean来说感觉速度快了不少. 安装该驱动很简单,但选择哪个驱动是要注意的.因为今天我试了nvidia的多个驱动后都在ubuntu下用起来并不好. 我现在的环 ...
- JS获取字符串实际长度
JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: function strLength(str) { var realLength = 0 ...
- VMware vCloud与Zend Server实现PHP应用程序自动化交付
在巴塞罗那2013年VMworld大会上,开发商VMware公司和zend公司在云管理市场上大放异彩.两家公司的产品VMware vCloud和Zend Server组合,实现了PHP程序自动化交付. ...
- android的EditText获取另一个焦点
在android关于开发过程EditText在setFocusable(false);后,设置时需要再次获得输入焦点setFocusable(true);问题后仍然无法获得焦点: 解决的方法: 对Ed ...
- [翻译]初识SQL Server 2005 Reporting Services Part 2
原文:[翻译]初识SQL Server 2005 Reporting Services Part 2 在Part 1文章中我们对SQL Server Reporting Services 2005(S ...
- 在SSIS中使用自定义的DLL文件
原文:在SSIS中使用自定义的DLL文件 步骤1.开发dll(需要签名) using System;using System.Collections.Generic;using System.Text ...
- ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript 。
一个简单的 ASP.NET MVC 例子演示如何在 Knockout JS 的配合下,使用 TypeScript . 前言 TypeScript 是一种由微软开发的自由和开源的编程语言.它是JavaS ...
- Working with Entity Relations in OData
Working with Entity Relations in OData 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs. ...