1、什么是Git?
大多数公司都在用,其实本质和SVN一样为大家协同开发的一种版本控制系统。
2、什么是版本控制系统?
版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。
3、为什么要有版本控制系统?
- 在开发过程中,经常需要对一个文件进行修改甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂。
- 在多人开发时,如果需要多人合作开发一个页面,那么修改以及合并也会非常的棘手。容易出现冲突
4、仓库分几种?
- 本地仓库:建立在本地的文件夹。
- 远程仓库:建立在互联网的服务器内的文件夹。
1、版本控制系统分为几种?
1、分布式版本控制系统
配有上述两个仓库,在你的电脑上有一个本地仓库,在远程的服务器上有一个远程仓库。
我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。
Git 就是一个典型的分布式版本控制系统
git是分布式的版本控制系统。分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份
- 需要一台服务器作为代码仓库
- 每个用户电脑都是一个服务器(代码仓库),并且和代码仓库是镜像的,用户修改和获取代码都是提交到自己的服务器当中。
- 不需要网络就可以进行工作。
- 当连接网络时,用户可以选择将自己的服务器与代码仓库进行同步。
2、集中式版本控制系统
只配有上述的远程仓库,当然如果你的这台电脑就充当远程服务器的角色,那远程仓库其实就在你这台电脑上。
我们在提交文件的时候是直接提交到远程仓库。
SVN 就是一个典型的集中式版本控制系统
svn是集中式的版本控制系统,集中式版本控制系统都有一个单一的集中管理的服务器(中央服务器),保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
- 需要一个中央服务器来管理代码的的版本和备份
- 所有的用户电脑都是从中央服务器获取代码或者是将本地的代码提交到中央服务器
- 依赖与网络环境,如果连不上中央服务器,就无法提交和获取代码。
3、本地版本控制系统
本地版本控制系统就是在一台机器上,记录版本的不同变化,保证内容不会丢失
- 如果多人开发,每个人都在不同的系统和电脑上开发,没办法协同工作。
5、安装git
1、(git官网:https://git-scm.com/downloads)
2、使用许可声明
3、选择安装路径
4、选择安装组件
上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。
点击“Next”按钮进入下图界面:
5、选择开始菜单页
这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:
6、选择Git文件默认的编辑器
这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:
7、调整您的PATH环境
这个界面是调整您的PATH环境。
第一种配置是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的 Git 命令行工具。但是这将不能通过第三方软件使用。
第二种配置是“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
您将能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。这也是推荐的选项。
第三种配置是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。
我选择推荐的选项第二种配置,点击“Next”按钮继续到下图的界面:
8、选择HTTPS后端传输
这个界面是选择HTTPS后端传输。
第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
我使用默认选项第一项,点击“Next”按钮继续到下图的界面:
9、配置行尾符号转换
这个界面是配置行尾符号转换。
第一个选项是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(“ core.autocrlf”设置为“ true”)
第二个选项是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“ input”)
第三种选项是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf”设置为“ false”)
我选择第一种选项,点击“Next”按钮继续到下图的界面:
10、配置终端模拟器以与Git Bash一起使用
这个界面是配置终端模拟器以与Git Bash一起使用。
第一个选项是“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互式Python)必须通过“ winpty”启动才能在MinTTY中运行。
第二个选项是“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
我选择默认的第一种选项,点击“Next”按钮继续到下图的界面:
11、默认就行
12、配置配置额外的选项
这个界面是配置配置额外的选项。
第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
第二个选项是“启用Git凭证管理器”。Windows的Git凭证管理器为Windows提供安全的Git凭证存储,最显着的是对Visual Studio Team Services和GitHub的多因素身份验证支持。 (需要.NET Framework v4.5.1或更高版本)。
第三个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
我勾选默认的第一、第二选项,点击“Next”按钮继续到下图的界面:
13、配置实验选项
这个界面是配置实验选项。
启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。
默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:
14、安装进度指示
15、启动测试
到此,Git的安装完成,可以在开始菜单中看到Git的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI)。
Git Bash,是Git配套的一个控制台,点击打开如下图:
Git CMD(Deprecated),是通过CMD使用Git(不推荐使用),点击打开如下图:
16、git原理
17、常用命令
下载码云并注册(GitHub)这里 我们以码云为例
新建以后:
在本地新建一个文件夹:然后git bash
执行git init后会在文件夹中出现.get
这样的话我们得本地厂库和远程厂库就关联在一起了
18、上传一个自己写的代码
把代码复制到本地厂库
这里报错了: failed to push some refs to 找了好久
出现错误的主要原因是github中的README.md文件不在本地代码目录中
我们执行命令:我们会看到在自己得项目中出现了一个.md文件
git pull --rebase origin master
我们在执行:
git push -u origin master
刷新一下码云:
---------------end----------------