git--介绍和安装

简介: git--介绍和安装

介绍


Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。只花费了两周的时间,就写了一个git。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件。

GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)

Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:

  • 无GitHub:在本地 .git 文件夹内维护历史文件
  • 有GitHub:在本地 .git 文件夹内维护历史文件,同时也将历史文件托管在远程仓库


集中式和分布式的区别


CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?

先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。

那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。


安装


最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。


Linux上安装


先检查下是否已经安装了git,输入git进行查看

[root@HH ~]# git
-bash: git: command not found

我们可以通过yum安装git,但是安装的git版本都比较低,所以这里我们使用源码安装

挑选一个自己喜欢的版本:https://mirrors.edge.kernel.org/pub/software/scm/git/

1.下载到本地

[root@HH tmp]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.23.0.tar.xz

2.解压

[root@HH tmp]# xz -d git-2.23.0.tar.xz  # 解压
[root@HH tmp]# tar xvf git-2.23.0.tar   # 解包

3.进入到解压的目录里面

[root@HH tmp]# cd git-2.23.0/

4.执行./configure生成makefile文件

[root@HH git-2.23.0]# ./configure --prefix=/opt/git/  # 指定路径/opt/git

5.编译make

[root@HH git-2.23.0]# make

6.安装

[root@HH git-2.23.0]# make install

7.添加到环境变量

安装完默认是没有把git添加到环境变量的,我们之前把git安装到了/opt/git下面,里面有个bin目录,bin里面有个git,在bin里面执行./git才会生效,如果在其他地方执行则会提示找不到命令

[root@HH tmp]# git
-bash: git: command not found

查看环境变量

[root@HH tmp]# echo $PATH
/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

我们把git的bin目录(/opt/git/bin/)加到环境变量就可以了

配置环境变量,永久生效,写入到文件/etc/profile中,每次登录就生效

vim  /etc/profile  #将此配置写到最底行
PATH=/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/git/bin/

写完之后执行source让文件生效

source /etc/profile  # 读取这个文件,让git生效

执行完之后再任意目录下执行git都会生效

[root@HH tmp]# git --version
git version 2.23.0


windows安装


windows下载地址:https://git-scm.com/download/win

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

可以使用git --version查看版本

git --version


配置


安装完成后,还需要最后一步设置,需要输入用户名和邮箱,可以根据自己的喜好输入

在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。


相关文章
|
2月前
|
缓存 网络安全 开发工具
全面掌握 Git 和 Gitee:从安装到上传的完整指南
本文档介绍了如何安装和配置Git,以及如何与Gitee进行连接。首先从官网下载Git并安装,接着配置用户名和邮箱,生成SSH密钥并将其添加到Gitee账户,完成无密码登录的设置。文档还提供了基本的命令使用指南,包括文件操作、Git命令和gitee代码上传流程,最后讲解了提交信息的规范格式和回滚操作的方法。
226 1
|
4月前
|
Linux 开发工具 git
CentOS安装git客户端
【8月更文挑战第22天】在 CentOS 上安装 Git 可通过两种方式:一是利用 yum 包管理器,只需在终端依次执行 `sudo yum update` 和 `sudo yum install git` 命令,安装时按提示输入 y 即可;二是从源码安装,适用于有特殊需求的场景。首先安装必要的依赖库,然后下载并解压 Git 的源码包,最后通过一系列 make 命令完成配置与编译安装。无论哪种方式,安装完毕后均可通过 `git --version` 验证安装情况。
182 6
|
4月前
|
网络安全 开发工具 git
Mac安装Git
Mac安装Git
69 2
|
5月前
|
存储 Linux 开发工具
入职必会-开发环境搭建15-Git下载和安装
Git 是一个分布式版本控制系统,广泛用于协作开发和版本管理。它由 Linus Torvalds 开发,最初是为了管理 Linux 内核开发而设计的。
|
4月前
|
存储 Ubuntu 开发工具
在Ubuntu 18.04上安装Git的方法
在Ubuntu 18.04上安装Git的方法
56 0
|
4月前
|
存储 Ubuntu 开发工具
在Ubuntu 16.04上安装Git的方法
在Ubuntu 16.04上安装Git的方法
35 0
|
4月前
|
Ubuntu 开发工具 git
在Ubuntu 18.04上安装Git【快速入门】
在Ubuntu 18.04上安装Git【快速入门】
44 0
|
4月前
|
存储 Linux 开发工具
在Debian 8上安装Git的方法
在Debian 8上安装Git的方法
38 0
|
4月前
|
存储 Linux 编译器
在 CentOS 6.4 VPS 上安装 Git 的方法
在 CentOS 6.4 VPS 上安装 Git 的方法
38 0
|
4月前
|
存储 Linux 网络安全
在CentOS 7上安装Git的方法
在CentOS 7上安装Git的方法
283 0