一张图读懂SVN和Git原理(附环境搭建和使用)

SVN和Git的个人笔记和总结,仅供参考和学习,欢迎分享!

先上图(个人整理):


讲概念(个人理解):

SVN:全称Subversion,是一种集中式管理的版本控制工具,分为服务器(VisualSVN)客户端(TortoiseSVN或SVN插件),客户端每次完成或修改代码需要联网提交服务端(即版本库Repository)进行存储,冲突主要源于时效性,操作重点在于先更新再提交

Git:是一种分布式管理的版本控制工具,分为远程版本库(如Github)本地版本库(.git节点)每个节点都是自己服务器兼客户端(git没有服务器和客户端的说法),完成或修改代码时直接提交到本地版本库节点,无需联网;只有推送和克隆版本库Repository时需要联网和远程版本库进行ssh对接

每个.git节点的工作机制是:从远程获取或创建工作区(此时为相对主分支master), 经过代码修改更新后(此时为dev分支)add到暂存区,然后commit到分支(即branch)进行管理,再推送到远程库,此过程中会对比master和dev两种分支是否冲突,如果冲突会通过head指针进行分支的合并(合并后为新的相对主分支master),然后进行ssh对接将合并后的本地版本库推送到远程库。

Github:是储存版本库Repository的工具以及一个SSH服务器,提供代码管理服务。Github上的代码是public的,private的收费。

SSH:一种远程登陆和控制主机进行指令操作的手段,提供了公钥和私钥(不需要提供主机管理员帐户和密码进行连接)避免了直接使用密码输入登陆的不安全性和密码泄露问题,分为服务器(如Copssh)客户端(putty),其公钥(  id_rsa.pub)加密,私钥(  id_rsa)解密。

软件介绍(个人推荐):

Copssh:用于搭建ssh服务器的工具,常用于搭建公司内部Git的ssh本地服务器(需要复制Git部分文件);

VisualSVN:用于搭建svn服务器的工具,主要功能为用户版本控制和版本库存储;

TortoiseSVN : 封装了SVN客户端核心并进行优化后的SVN客户端工具,作用等价于SVN插件,但细节方面做得美观和优化。

Git : 为git的核心工具,其window版本又称为msysgit,默认使用ssh进行远程推送(即含ssh客户端),等同git插件作用但功能更强大。

TortoiseGit:依赖于Git才能使用的工具(必须安装Git),对Git进行了封装和优化、美化(即“包装壳”),并集成了ssh客户端putty工具的功能,没有完全不影响Git的使用。


</

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值