一、版本控制是什么?
1.Git是**免费的、开源的分布式版本控制系统。
3.为什么需要版本控制工具?
从个人开发过渡到团队协作。
如果两个人同时修改一份公司代码,后来者会把之前人写过的代码覆盖。
4.版本控制的两种方式:集中式版本控制、分布式版本控制
4.0 举例:SVN(subversion)、VSS、CVS
4.1 集中式版本控制工具:
·缺点:如果服务器宕机,那么单点故障时,无法团队协作 -> 为什么会这样?我把代码下载到本地后,也做了很多修改! -> 原因:还记得Git的功能么?显示你修改的历史记录。如果集中式版本控制服务器
宕机,那么虽然大家并没有耽误工作,可是每个人在这段时间内做了什么工作都没有能力被记录,也就是无法显示代码被修改的历史和修改人员。
·好处:每个人能够看到彼此在做什么
4.2 分布式版本控制工具:
·架构不同,没有中央服务器,每台程序员的电脑都是代码库,每个人都能在自己的笔记本电脑上都能做版本控制。但是如何保证代码的统一性?
·通过远程库,每个人都要下载远程库中的代码,然后自己修改再扔到远程库里。
·每个人手里都有一套有详细修改时间和历史记录的代码
二、Git的前生
Linux版本控制历史:
1.Linus本人手动合并代码 - 1991年
2.使用商业软件BitKeeper,授权给Linus使用 - 2002年
3.开发Samba的Andrew试图破解BitKeeper协议,被BitMover公司发现,Linux社区免费使用权被收回 - 2005年
4.Linus自己用C语言开发了一个分布式版本控制系统,主体程序开发只使用了两周的时间,一个月后Linux系统代码由Git进行管理 - 2005年
三、Git下载安装
1.下载地址:https://git-scm.com/download
2.正常安装,此选择界面默认即可,安装路径内不要出现中文名或是名字带空格的文件夹。
3.正常安装即可。
4.是否要修改每次创建的分支名,按自己需要选择。
5.添加环境变量,想只用Gitbash的就选第一个
6.默认选择
7.选择换行符:请注意,windows里面的换行是CRLF,而Linux的换行是LF,所以说
我们选择一个自动转换就好,让Git帮我们搞定。
8.选择终端,用TTY吧,喜欢windows的难道要用dos么。
9.选择默认行为,挖取远程代码到本地库,以何种方法合并?default默认即可。
10.选择凭据管理器(类似于自动登录),选第一个跨平台的凭据管理器吧
11.使用文件缓存机制,使用符号链接
12.测试功能,不添加
13.安装完成
14.桌面上点击右键,能看到并打开Git就成功了。
15.git bash查看版本
四、Git的工作原理
1.Git的工作区、暂存区的文件都能够被删除
2.但如果提交到了本地库,那么此代码无法被删除,除非删库
五、Git和代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,我们可以称之为远程库
1.局域网:闭源公司可以选择使用
GitLab
2.互联网:
Gitee码云
Github外网