## Centos安装Git 两种安装方法,yum安装和源码编译安装 ### yum 安装 1. 在Linux上是有yum安装Git,非常简单,只需要一行命令  (注意版本是老版本 可以用但不是最新的) [Git使用总结](Git使用总结.md) 2. 输入 `git --version` 查看Git是否安装完成以及查看其版本号,顺便说一下,yum安装git被安装在`/usr/libexec/git-core`目录下 >上述的安装版本不是Git官方最新的包,下载源码包编译安装可以选版本。 ### 2. 源码编译安装 1. 安装依赖包 ```shell yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker ``` 2. 首先卸载已有的git版本 ```shell yum -y remove git ``` 3. [gitlab 下载 tar 包](https://github.com/git/git/tags),然后上传服务器并解压 ```shell tar -zxvf git-2.37.2.tar.gz -C /usr/local/ ``` 4. 编译安装 ```shell #进入源码目录 cd /usr/local/git-2.37.2 #编译源码 make prefix=/usr/local/git all #安装 make prefix=/usr/local/git install ``` 5. 配置环境变量 ```shell #编辑环境变量,添加以下内容 vim /etc/profile #Git export PATH=$PATH:/usr/bin/git/bin #刷新环境变量 source /etc/profile ``` 6. 验证安装是否成功 ```shell git --version ``` > 20220823 第一次源码安装失败了,乖乖的yum安装了,期待下一次源码安装! 7. 卸载 ```shell yum -y remove git #查看git的安装目录 which -a git #删除git目录 rm -rf git-xx ``` ## Windows安装Git 参考[Git官网安装指导](https://git-scm.com/book/zh/v2/起步-安装-Git) 1. [Git官网下载地址](https://git-scm.com/downloads) 2. 默认安装(可自定义安装目录) ## Windows安装TortoiseGit TortoiseGit 是对 Git 的图形化。 1. 下载 [TortoiseGit 官网最新版下载](https://tortoisegit.org/download/) 下载对应的安装包和语言包*(安装包和语言包的版本一定要相同)* [TortoiseGit 历史版本](https://download.tortoisegit.org/tgit/) 2. 默认安装(可自定义安装目录) 先安装 TortoiseGit 安装包,再安装语言包。 安装完成之后,右键 TortoiseGit -> Settings,在 General 面板的 Language 出选择语言。 ## Git配置 参考 [Git官网指南](https://git-scm.com/book/zh/v2),也可下载PDF ### 初始配置 > git 有三处配置,分别针对全局、当前用户、当前项目,优先级依次递减。配置文件分别位于 > > * /etc/gitconfig > * ~/.gitconfig > * .git/config ```bash #查看配置 git config --list #设置全局配置 git config --system user.name "yourname" #设置当前用户配置 git config --local user.name "yourname" #设置当前项目配置(要在当前项目目录下执行) git config user.name "yourname" #查看某个配置(显示优先级最高的配置) git config user.name ``` ## SSH服务 *使用SSH服务的前提是:具有访问SSH端口22的权限* ### 配置 Git SSH 密钥 1. 进入GIT_HOME/usr/bin 目录下,执行以下命令,生成 SSH 公私钥 ```bash ssh-keygen -t rsa -C "git账号" ``` 一直回车,会在 ~/.ssh 目录下生成2个文件:id_rsa 和 id_rsa.pub **如果修改了 id_rsa 文件名,需要在密钥目录 ~/.ssh 下创建文件 config,内容如下:** ``` # gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/custom-id_rsa ``` **否则将提示 `# git@gitee.com: Permission denied (publickey)`** 2. 将 `~/.ssh/id_rsa.pub` 的内容复制到 git 服务器的 SSH Public Keys 中 ![SSH Public Keys](./imgs/20201016174722.png) 3. 此时不用登录,即可克隆git项目 记住:要克隆项目的 SSH 地址。如果克隆的是 HTTP 地址,仍然需要输入账号密码。 执行如下命令: ```bash git clone git@gitee.com:anyway2025/backpack.git ``` **遇到的问题:** no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 在 ~/.ssh 下的 config 文件(没有则创建)中,添加如下内容: ``` Host * KexAlgorithms +diffie-hellman-group1-sha1 ``` ### 配置TortoiseGit putty 密钥 TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。 也就是说使用`ssh-keygen -t rsa -C "username@email.com"`产生的密钥,TortoiseGit中不能用。 而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具,来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥。 > 参考: > https://blog.csdn.net/yhcad/article/details/88624286 1. 进入 TortoiseGit_HOME/bin 目录,执行 puttygen.exe ![image-20201019092521180](imgs/image-20201019092521180.png) ![image-20201019094519347](imgs/image-20201019094519347.png) > Tip:如果已存在私钥,那么可以直接点击 Load 按钮,加载私钥文件。 2. 复制 Public Key 并 Save private key ![putty的公钥和私钥](./imgs/20201019093137.png) 3. 将复制的 Public Key 粘贴到 Gitlab 上,Add Key ![image-20201019093618333](imgs/image-20201019093618333.png) 4. 执行 Pagenant.exe ,将ppk私钥文件添加进入 ![image-20201019093914940](imgs/image-20201019093914940.png) 5. 克隆项目,填写SSH项目地址,选择 Putty 私钥 ![克隆项目](./imgs/20201019094259.png) 或者在一个已有的Git项目上,右键 TortoiseGit -> 设置 -> 远端 ![imgs](./imgs/image-20220514105303.png)