git学习(1)-git的安装与配置

版本控制

  1. 本地版本控制系统
  2. 集中化的版本控制系统
  3. 分布式版本控制系统

git基础

git与其他版本控制系统的区别是:git只保存文件数据的整体是否发生变化。 而大多数其他系统则只关心文件内容的具体差异

换句话说:git保存每次更新时的文件快照

Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础的超强工具,而不只是一个简单的 VCS。

git的所有操作都是对本地文件的资源操作,因此不需要联网。 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

git每次只需要从本地数据库读取内容,在任何时候都可以随时读取,再查看历史版本的时候,git会在保存的历史快照中查询,而不需要请求远程服务器或者把查询老版本的文件。

git可以在没有网络的时候随时提交更新到本地,等到有网络的时候再上传远程仓库

git具有内容完整性的功能:在保存到 Git 之前,所有数据都要进行内容的校验和计算,并将此结果作为数据的唯一标识和索引。任何文件如果在传输时发生损坏,git都能察觉。

git使用 SHA-1 算法计算数据的校验和,这实际上是一个哈希值,git通过将文件转换为哈希值来工作,并依靠它作为git的索引。


git文件的三种形式

  1. 已提交:文件已经被安全的保存在本地数据库中
  2. 已修改:已经修改了文件,但是还没有保存提交
  3. 已暂存:把已修改的文件放在下次提交要保存的清单中

git管理项目的三个区域:

  1. git的工作目录:项目中取出某个版本的所有文件和目录,用以开始后续工作。
  2. 暂存区域:暂存区域只不过是个简单的文件,一般都放在 Git 目录中。
  3. 本地仓库:Git或者 .git 目录:是保存元数据和对象数据库的地方,实际上克隆仓库的时候就是克隆这里面的数据

Git的工作流程:

  1. 工作目录中修改某些文件。
  2. 修改完成后的文件进行快照存放在暂存区域
  3. 把暂存区域中的文件的快照提交更新到Git目录中。

三种状态:

  1. 已提交状态
  2. 已暂存状态
  3. 已修改状态

git的安装

源代码安装

  1. 如果有 yum,则输入以下命令:
yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel
  1. 如果有apt-get,则输入以下命令:
apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

之后,从下面的 Git 官方站点下载最新版本源代码:

http://git-scm.com/download

然后编译并安装:

$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

现在已经可以用 git 命令了,用 git 把 Git 项目仓库克隆到本地,以便日后随时更新:

$ git clone git://git.kernel.org/pub/scm/git/git.git

linux安装

  1. 具有yum的时候,通过yum安装
yum install git-core
  1. Ubuntu 具有 apt-get的时候,通过apt-get安装
apt-get install git

window安装

  1. 通过GitHub的开源项目安装 下载exe,并且运行
http://msysgit.github.com/
  1. 上一种方法国内下载慢,可以使用阿里镜像安装

阿里镜像下载 git

git配置

git config工具,实际上是 git-config命令,使用这个命令来配置或者读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

  1. /etc/gitconfig:系统中所有用户都使用的配置,git config时使用 --system。
  2. ~/.gitconfig:用户工作目录下的配置文件只适用于此用户git config时使用 --global。
  3. .git/config:当前项目的配置文件,只针对于当前项目。

每一个级别的配置都会覆盖上层相同的配置,因此.git/config会覆盖/etc/gitconfig中的同名变量。

.gitconfig的路径:默认在C盘的user的文件夹下。

修改用户信息

git在提交更新的时候需要知道是谁提交了,因此需要配置个人信息

输入以下命令:

git config --global user.name "用户名"
git config --global user.email 电子邮箱

使用--global配置的.gitconfig的文件路径:

"C:\Users\username\.gitconfig"

我们配置的是用户主目录的那个,因此所有的项目默认使用这个配置。

如果要在某个特定的项目中使用其他用户或者电脑,则需要去掉 --global ,重新配置信息即可。

文本编辑器

默认的git输入信息使用的文编编辑器

我这里使用vscode,你也可以使用Emacs 或者 vim

git config --global core.editor vscode

差异比较工具

在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

git config --global merge.tool vimdiff

查看配置信息

输入命令

git config --list

使用帮助命令

想要知道某个命令如何使用:

git config <xxx>
posted @ 2023-03-12 23:09  hugeYlh  阅读(27)  评论(0编辑  收藏  举报