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, 最后以此将之前另存为临时文件的修改依序应用。提交历史如下,是一条完整的直线而没有其他分支
    在这里插入图片描述

参考

  • Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别
  • SVN基本介绍、工作原理、基本操作和其他说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/564320.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java秘笈

一、缩略 二、详版 【CDN分发】||----【跳板机】---SSH:(^_^) 管理员/运维Iptables【防火墙】要求:HA||----【等保系统】||----【蜜罐系统】【反向代理】Nginx/Lvs【静态服务器】【边际路由】要求:HA||Gateway/Zull【Api网关】要求&#xff1…

6. ping在windows中的常见用法

(1)ping简介 1.ping简介 (2)在windows上用法 1.直接ping 对方IP(无参数时) 2.ping -t IP (长ping) 3.ping -n 包数量 4.ping -l 字节大小 IP 5.如何批量的ping一个网段? (1&a…

异步处理 (vue async和await)

出现这种情况可以是加载顺序的问题,加载没有完成就是显示数据了 试试 async和await async beforeOpen(done, type) {if (["edit", "view"].includes(type)) {await getDetail(this.form.id).then((res) > {this.form res.data.data;conso…

最好用的软件安装教程合集(Matlab\ Anaconda\Pytorch..)

MATLAB R2022b 安装教程 http://t.csdnimg.cn/dQ0Qwhttp://t.csdnimg.cn/dQ0Qw Anaconda安装教程 https://blog.csdn.net/fan18317517352/article/details/123035625https://blog.csdn.net/fan18317517352/article/details/123035625 Pytorch安装教程 https://blog.csdn.net…

PyQT5学习--新建窗体模板

目录 1 Dialog 2 Main Window 3 Widget Dialog 模板,基于 QDialog 类的窗体,具有一般对话框的特性,如可以模态显示、具有返回值等。 Main Window 模板,基于 QMainWindow 类的窗体,具有主窗口的特性,窗口…

【Unity】宏定义Scripting Define Symbols

1.宏的用处 我们在使用Unity开发的时候,经常需要根据不同环境执行不同的代码 比如安卓手机和苹果手机获取路径代码 这个时候,宏就派上用场了。 代码示例: //获取路径public string GtePath(){//不同平台,取不同的存储路径string…

02.percona Toolkit工具pt-archiver命令实践

1.命令作用 Percona Toolkit有的32个命令,可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句,并给出建议&#x…

隐私计算实训营学习四:SecretFlow的安装和部署

文章目录 一、SecretFlow安装二、SecretFolw部署模式简介三、SecretFlow部署-仿真模式四、SecretFlow部署-生产模式 一、SecretFlow安装 SecretFlow运行要求: Python > 3.8操作系统:CentOS7、Anolis8、Ubuntu 18.04/20.04、macOS 11.1、WSL2资源&am…

Camera入门基础知识

一、camera介绍 1.1 camera硬件组成 camera一般由Lens、VCM音圈马达、底座支架、Sensor、Driver IC、output interface组成。如下图: 这里面要注意的是有些摄像头模组有VCM,有些则没有,有些output interface输出的是CSI信号,有的输出的是串行信号,需要接解串器。…

Linux的一些基本指令

​​​​​​​ 目录 前言: 1.以指令的形式登录 2.ls指令 语法: 功能: 常用选项: 3.pwd指令 4.cd指令 4.1 绝对路径与相对路径 4.2 cd .与cd ..(注意cd后先空格,然后两个点是连一起的&#xff0…

post请求

写代码,看官网 因post请求数据是2种情况,一种传参数,一种不传参数 所以先定义变量 写判断条件,逻辑是参数的长度和参数是否为空 0和不为空不好理解,可以使用参数长度不等于0,说明参数有值,在…

化工企业能源在线监测管理系统,智能节能助力生产

化工企业能源消耗量极大,其节能的空间也相对较大,所以需要控制能耗强度,保持更高的能源利用率。 化工企业能源消耗现状 1、能源管理方面 计量能源消耗时,计量器具存在问题,未能对能耗情况实施完全计量,有…