Java二阶知识点总结(七)SVN和Git

SVN

1、SVN和Git的区别

  • SVN是集中式的,也就是会有一个服务器保存所有代码,拉取代码的时候只能从这个服务器上拉取;Git是分布式的,也就是说每个人都保存有所有代码,如果要获取代码,可以从其他人手上获取
  • SVN没有本地分支,所以只能联网才能提交;Git有本地分支,所以不管是否联网都可以提交到本地分支,只是最后push到远程仓库的时候需要联网
  • SVN建议先update再commit,而Git建议先pull,然后再commit and push
  • PS:我之前的公司用的是SVN,结果后来服务器中病毒了,混乱了好一阵子,最后老老实实改用git了

2、SVN的基本操作

  • add(添加):添加文件到SVN版本控制中
  • commit(提交):用于提交本地修改到svn服务器中
  • revert(还原):用于撤销本地未提交的修改
  • update(更新):用于拉取服务器中最新的代码

Git

1、Git的使用

  • Git Bash:Unix与Linux风格的命令行,使用最多
  • Git CMD:Windows风格的命令行
  • Git GUI:图形界面的Git,不建议初学者使用

2、Git的常用命令

  • ls、rm、mv、cd、touch等,基本和linux命令差不多

3、Git工作区域

  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
    在这里插入图片描述

4、工作流程

  • 在工作目录中添加、修改文件;
  • 将需要进行版本管理的文件add放入暂存区域;
  • 将暂存区域的文件commit提交到git仓库;
  • 使用pull获取远程仓库的所有改动,以免冲突;
  • 如果需要提交到远程仓库,则还需要push到远程仓库

5、Git分支、合并、变基

  • 新建分支:从当前分支复制出一份新的分支,在新的分支上进行的操作不会影响其他分支

  • 合并:就是将两条分支合并到一条支线上,如果有冲突,保留哪些内容自行决定,其提交历史如下,会分岔,即保存两条分支的提交历史
    在这里插入图片描述

  • 变基:变基的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 master) 的最近共同祖先 C2,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件, 然后将当前分支指向目标基底 C3, 最后以此将之前另存为临时文件的修改依序应用。提交历史如下,是一条完整的直线而没有其他分支
    在这里插入图片描述

参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值