type
status
date
slug
summary
tags
category
icon
password
Email
版本控制
- 本地版本控制系统
- 集中化的版本控制系统
- 分布式版本控制系统
git基础
git与其他版本控制系统的区别是:git只保存文件数据的整体是否发生变化。 而大多数其他系统则只关心文件内容的具体差异
换句话说:git保存每次更新时的文件快照
Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础的超强工具,而不只是一个简单的 VCS。
git的所有操作都是对本地文件的资源操作,因此不需要联网。 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。
git每次只需要从本地数据库读取内容,在任何时候都可以随时读取,再查看历史版本的时候,git会在保存的历史快照中查询,而不需要请求远程服务器或者把查询老版本的文件。
git可以在没有网络的时候随时提交更新到本地,等到有网络的时候再上传远程仓库。
git具有内容完整性的功能:在保存到 Git 之前,所有数据都要进行内容的校验和计算,并将此结果作为数据的唯一标识和索引。任何文件如果在传输时发生损坏,git都能察觉。
git使用 SHA-1 算法计算数据的校验和,这实际上是一个哈希值,git通过将文件转换为哈希值来工作,并依靠它作为git的索引。
git文件的三种形式
- 已提交:文件已经被安全的保存在本地数据库中
- 已修改:已经修改了文件,但是还没有保存提交
- 已暂存:把已修改的文件放在下次提交要保存的清单中
git管理项目的三个区域:
- git的工作目录:项目中取出某个版本的所有文件和目录,用以开始后续工作。
- 暂存区域:暂存区域只不过是个简单的文件,一般都放在 Git 目录中。
- 本地仓库:Git或者 .git 目录:是保存元数据和对象数据库的地方,实际上克隆仓库的时候就是克隆这里面的数据
Git的工作流程:
- 在工作目录中修改某些文件。
- 修改完成后的文件进行快照存放在暂存区域中
- 把暂存区域中的文件的快照提交更新到Git目录中。
三种状态:
- 已提交状态
- 已暂存状态
- 已修改状态
git的安装
源代码安装
- 如果有 yum,则输入以下命令:
- 如果有apt-get,则输入以下命令:
之后,从下面的 Git 官方站点下载最新版本源代码:
然后编译并安装:
现在已经可以用
git
命令了,用 git
把 Git 项目仓库克隆到本地,以便日后随时更新:linux安装
- 具有yum的时候,通过yum安装
- Ubuntu 具有 apt-get的时候,通过apt-get安装
window安装
- 通过GitHub的开源项目安装 下载exe,并且运行
- 上一种方法国内下载慢,可以使用阿里镜像安装
git配置
git config工具,实际上是 git-config命令,使用这个命令来配置或者读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig
:系统中所有用户都使用的配置,git config时使用 --system。
~/.gitconfig
:用户工作目录下的配置文件只适用于此用户git config时使用 --global。
.git/config
:当前项目的配置文件,只针对于当前项目。
每一个级别的配置都会覆盖上层相同的配置,因此
.git/config
会覆盖/etc/gitconfig
中的同名变量。.gitconfig
的路径:默认在C盘的user的文件夹下。修改用户信息
git在提交更新的时候需要知道是谁提交了,因此需要配置个人信息
输入以下命令:
使用--global配置的.gitconfig的文件路径:
我们配置的是用户主目录的那个,因此所有的项目默认使用这个配置。
如果要在某个特定的项目中使用其他用户或者电脑,则需要去掉 --global ,重新配置信息即可。
文本编辑器
默认的git输入信息使用的文编编辑器
我这里使用vscode,你也可以使用Emacs 或者 vim
差异比较工具
在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:
查看配置信息
输入命令
使用帮助命令
想要知道某个命令如何使用:
- 作者:Yuleo
- 链接:https://www.helloylh.com/article/git1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。