学习日志day58(2021-10-09)(1、SVN 2、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客户端进行版本库操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值