学习日志day58(2021-10-09)(1、SVN 2、Git)

news/2024/7/24 1:41:08 标签: svn, git

学习内容:学习版本控制系统SVN和Git(Day58)

1、SVN
2、Git


1、SVN

(1)SVN全名Subversion,即版本控制系统。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。
作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。

Git也是版本控制系统。SVN是集中式,Git是分布式。

(2)SVN的作用
1.多人共享同一的资源,并且可以对资源实现修改和更新;
2.记录资源的每一次变更,以及记录更改该资源的人,并且可以恢复到之前的任何一个修改点;

(3)SVN的安装分为2部分,第一部分是服务端安装,第二部分的客户端安装。一般情况下,我们只需要安装客户端即可,因为在企业中服务端是由运维来维护的,我们只需要开通一个账号即可。
常用的客户端又分为2种,第一种是安装在操作系统中的客户端,另外一种是IDE的插件。

(4)访问SVN资源库的协议通常有三种:
1.http 客户端和浏览器都可以访问。
2.https 客户端和浏览器都可以访问,同时比http更安全。
3.svn 只能通过客户端访问。

(5)资源仓库
SVN资源仓库中有三个非常重要的目录,trunk(主干)、branches(分支)、tags(标签),这三个目录,都是可以存放文件的,只是在功能方面有一些区别(只是约定),其作用是:
trunk:一般的项目都是基于主干开发的。
branches:分支,一般用于有某些开发功能时,需要基于主干开分支,开发完成后要合并到主干。
tags:标签,项目开发完成后,发布上线时,需要将主干的代码打标签到tags中,一般情况下,tags的内容是只读的。

2、Git

(1)Git是目前世界上最先进的分布式版本控制系统。SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

(2)创建版本库
安装完成之后,在任意目录下,右击鼠标选择Git Bash here,弹出命令框
设置用户名和密码

git config --global user.name "zhouqihu"
git config --global user.email "1714340002@qq.com"

通过命令 git init 把这个目录变成git可以管理的仓库,这时候你当前目录下会多了一个.git的隐藏目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

(3)把文件添加到版本库中,首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不例外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

在版本库目录下新建一个记事本文件 test01.txt 内容如下:11111111
使用命令 git add test01.txt添加到暂存区里面去
用命令 git commit -m "提交test01.txt"告诉Git,把文件提交到仓库
通过命令git status来查看是否还有文件未提交,如果此时修改了test01.txt的内容,会进行提示
使用命令git diff test01.txt查看修改了哪些内容
使用命令 git log 查看修改记录,git log –-pretty=oneline使显示的记录显示在一行
使用命令git reset --hard HEAD~把当前的版本回退到上一个版本,如果要回退到上上个版本只需把HEAD~ 改成 HEAD~~,以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可。
使用命令git reset --hard df4b18回退到某个版本
使用命令git reflog查看每次操作的版本号
使用命令git checkout test01.txt将文件中的修改内容全部撤销
1.test01.txt自动修改后,还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态。
2.另外一种是test01.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
删除版本库中的文件可以先删除工作区的文件,然后添加到暂存区,再提交到版本库。

(4)工作区与暂存区的区别
工作区:就是你在电脑上看到的目录,比如目录里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

暂存区:使用命令git add test01.txt将工作区的文件添加到暂存区。

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
在这里插入图片描述

(5)安装TortoiseGit,使用Git客户端进行版本库操作。


http://www.niftyadmin.cn/n/1459885.html

相关文章

Vue CLI vue-router ->(个人学习记录笔记)

文章目录Vue1. vue-vli脚手架1.1 介绍与安装1.2 项目初始化2. 回顾箭头函数2.1 基本使用2.2 参数和返回值2.3 this指向3. 路由3.1 vue-router安装与配置3.2 vue-router基本使用基本使用router-linkrouter-view重定向修改路由模式hash->history不用router-link3.3 vue-router…

学习日志day59(2021-10-11)(1、添加远程仓库 2、分支管理)

学习内容:学习版本控制系统Git(Day59) 1、添加远程仓库 2、分支管理 1、添加远程仓库 (1)添加远程库 如果想让其他人来协作开发,就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备…

python输入数组的方法_Python 数组

Python 数组 在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们。 在编程中,数组是相同类型的元素的集合。 数组在Java,C / C ,JavaScript等大多数编程语言中都很流行…

Vue问题 Required request body is missing axios和后端交互时,参数需要写在body和query中,该怎么写?

项目场景: 报错 问题描述: 请求体被封装到url中,而不是body,我发的是post请求 原因分析: 解决方案: 如果是put,post请求,使用data: parameter 如果是delete,get请求…

学习日志day60(2021-10-29)(1、Linux系统的基础命令)

学习内容:学习Linux(Day60) 1、Linux系统的基础命令 1、Linux系统 (1)Linux文件系统 目录名称说明/Linux系统根目录/bin系统启动时需要的执行文件(二进制)/dev设备文件目录/etc操作系统的配置文件目录目录/home用户…

linux 修改用户组_Linux——Linux 用户和用户组管理

Linux 用户和用户组管理用户账号的添加、删除与修改。用户口令的管理。用户组的管理。Linux系统用户账号的管理1、添加新的用户账号使用useradd命令,其语法如下:useradd 选项 用户名选项:-c comment 指定一段注释性描述。-d 目录 指定用户主目录&#xf…

高斯混合模型聚类_透彻理解高斯混合模型

高斯混合模型GMM是一个非常基础并且应用很广的模型。对于它的透彻理解非常重要。本文从高斯分布开始逐步透彻讲解高斯混合模型高斯分布高斯分布有两个参数:μ mean(数据的中心) σ2 variance(数据的分布扩展范围)μ是高斯分布的位置参数。由概率密度函数图像可知&a…

微软账户加载不出来_微软杀死了曾经全球第一的浏览器

点击“开发者技术前线”,选择“星标?”让一部分开发者看到未来来自扩展迷EXTFANS今年以来,Edge浏览器切换到Chromium生态并重装上阵,并强势地捆绑推送给了几乎每一个Win 10用户。这样的效果也是显而易见的——短短几个月里,Edge的…