Git的下载方法+版本控制器以及SVN与GIT的区别

2022-11-22 15:20:11 浏览数 (2)

一.在window中安装Git      版本要求:Git-2.22.0-64-bit.exe或以上版本,      安装路径:请不要安装在C盘(win10会有权限问题),建议选择“D:toolsGit”

步骤如下:(可下载最新版本,步骤一样)

下载最新版本,点击红框或篮筐处即可 点击下载好的安装包安装这个软件

一直点击next,直到出现install,点击install,安装完成后点击finish:

  安装好后在桌面界面点击鼠标右键,会出现如下界面

检查git是否安装OK 键盘win r,然后在弹出框中出入cdm,弹出如下界面,输入git,回车

弹出上图所示界面就说明安装成功啦!!!

二、环境配置

git安装好去GitHub上注册一个账号,注册好后,点击桌面上的Git Bash快捷图标,我们要用账号进行环境配置啦啦

# 配置用户名 git config --global user.name "username"    //( "username"是自己的账户名,) # 配置邮箱 git config --global user.email "username@email.com"     //("username@email.com"注册账号时用的邮箱)

以上命令执行结束后,可用 git config --global --list 命令查看配置是否OK 生成ssh 继续刚才的操作,在命令框中输入以下命令,

ssh-keygen -t rsa

然后连敲三次回车键,结束后去系统盘目录下(一般在 C:Users你的用户名.ssh)(mac: /Users/用户/.ssh)查看是否有。ssh文件夹生成,此文件夹中以下两个文件

将ssh文件夹中的公钥( id_rsa.pub)添加到GitHub管理平台中,在GitHub的个人账户的设置中找到如下界面

title随便起一个,将公钥( id_rsa.pub)文件中内容复制粘贴到key中,然后点击Ass SSH key就好啦

测试一下配置是否成功,在Git Bush命令框(就是刚才配置账号和邮箱的命令框)中继续输入以下命令,回车

ssh -T git@github.com

要是看见下面的这句话就说明配置好啦

1. Git是什么    Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目

   GIT:客户端/代码托管网站(例如:github)

 注1:类似的代码托管网站还有:github/码云gitee/阿里云Code源码管理    注2:类似的技术GitLab,但它与GitHub又有一定的区别

 GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源。与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。    不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,    你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。

 2.版本控制器    CVS/SVN/Git

CVS介绍:

CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。 CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS。

 SVN介绍:

SVN的全称是Subversion,即版本控制系统。它是最流行的一个开放源代码的版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。 SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。 SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客户端软件。前者需要Web服务器的支持,后者需要用户在本地安装客户端,两种都有免费的开源软件供使用。SVN存储版本数据也两种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

CVS与SVN的区别: 

1 对重命名、删除文件的支持 cvs:不支持本地文件重命名提交 删除分remove和erase两种前者把本地和库中文件都删除 后者只是删除本地文件 不能删除文件夹 svn:支持文件重命名提交系统会提示删除旧文件,创建新文件 删除本地文件提交 库中文件也被删除 2 对中文路径名的支持 cvs:支持的比较好 svn:要将权限控制文件保存为svn支持的UTF-8格式 3 本地文件与库的对应关系 cvs:可以多对多 svn:一个库可以有多个工作目录但一个工作目录只能对应一个库 虽然可以更改库位置但是要求很严格 4 库中文件存放方式 cvs:完全用户可见方式与客户端文件夹结构完全一致(cvs生成文件除外) svn:与vss相似,看不到文件真正的内容

补充:   C/S: 客户端/服务器   B/S:浏览器/服务器

3. Git与SVN区别(重点记录1/2/3点)

3.1 去中心化 GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。     

3.2 git仓库的任何一个拷贝都可以独立作为一个服务器来使用

3.3 在Git中文件有四种状态: 未跟踪(untrack):表示文件为新增加的 已修改(modified):表示修改了文件,但还没保存到git仓库中。 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中 已提交(committed):表示文件已保存在git仓库中。

3.4 其它 GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。 GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏

3.5 直接记录快照,而非差异       GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。       直接记录快照,而非差异

 3.6 直接记录快照,而非差异       GIT分支和SVN的分支不同,分支在SVN中一点不特别,就是版本库中的另外的一个目录。https://gitee.com/

4. 实践操作:gitee网站相关操作    1.创建仓库(私库和公库)  注1:仓库对应url支持多种协议,最常用的有两种:https/ssh      注2:github上repository分为public和private

顾名思义public可以被其他人看到并clone;而private是不能被别人看到的,但是可以被clone,由于是private的,要克隆当然是需要一些强前提条件的,           不然安全性无法保证,private也就失去了意义。这里把repository创建为private的场景为:自己创建一个私人项目,但是又需要和其他developer一起开发,           所以,需要developer都能克隆这个private repository,并且都能提交到这个private repository。                    私有库貌似要收钱钱的,不过这已经是历史了:

         微软 Github 收购事件于昨天(2018年06月04日)尘埃落定,微软最终以 75 亿美元正式收购 Github。           更有网友称这是一桩最滑稽的收购案,世界上最大的闭源公司收购了世界上最大的开源公司。           新年2019年1月,新的 Github, Github 宣布了两个重大更新           即现在可以无限制的免费使用 Github 私有仓库,让开发人员更好的使用 GitHub,不过最多只有 3 个免费协作成员。

5.删除仓库

6.创建文件及文件夹      如何在github上创建文件夹,两种方式:一种DOC命令(后面讲)/一种网站直接创建      网站创建文件夹

登陆github个人仓库,点击Create new file

输入文件夹名称后加个“/”

在文件名后面加上"/"这个斜杠回车再输入一个文件名,在里面随便写点东西(因为Github不允许空文件夹存在,        空文件夹自动删除),提交接即可。     ## 以下操作自学

修改昵称

修改帐号

修改密码

实践操作:Git配置帐号和邮箱(本机)

一般刚安装Git都要配置用户名和密码,因为你提交代码到本地仓库(上传代码到远程仓库)时会用到,    如果没有没有配置,在你提交时它会提醒你的。但是,如果仅仅克隆(即下载)公有项目,你甚至不需要注册——刚刚我们创建的账户是为了以后    fork 其它项目,以及推送我们自己的修改。

0 人点赞