Win10安装Git工具

摘要:最近更换了一次电脑,导致有需要重新安装Git工具,对于Git自己目前约等没有使用,安装的时候有需要百度一下,很麻烦。就此将Git安装、Git的证书生成绑定合并转载一下

一、证书安装

官网下载最新版本的Git

官网地址:https://git-scm.com/downloads

点击上图中表示的地方进行下载,得到Git-2.17.1.2-64-bit.exe文件。如果你的系统是32位的,可以通过如下方式下载:

01、使用许可声明

双击下载好的git安装包,弹出提示框, 直接点击“Next”进入下一步。

02、选择安装路径
在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse...”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面:

03、选择安装组件
上图默认勾选的,建议不要动。标准①是决定是否在桌面创建快捷方式的。标注②是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。
点击“Next”按钮进入下图界面:

04、选择开始菜单页
这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:

05、选择Git文件默认的编辑器
这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:

06、设置默认分支名称
这个界面是设置git init 是默认分诊的名称,可以不自定义修改,直接点“Next”按钮继续到下图的界面:

07、调整您的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”按钮继续到下图的界面:

08、选择HTTPS后端传输
这个界面是选择HTTPS后端传输。
第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。
第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。
我使用默认选项第一项,点击“Next”按钮继续到下图的界面:

09、配置行尾符号转换
这个界面是配置行尾符号转换。
第一个选项是“签出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、pull 默认功能选择
第一个选型是pull的默认功能,用于从远程获取代码并合并本地的版本。
第二个选项是git rebase,具体可以查看这篇文章( git rebase vs git merge详解
第三个选项是git Forward 模式,具体可以查看这篇文章( Git的Fast Forward和no fast foward合并模式对比) 我选择默认的第一种选项,点击“Next”按钮继续到下图的界面:

12、git运行的支撑环境
我选择默认的第一种选项,点击“Next”按钮继续到下图的界面:

13、配置配置额外的选项
这个界面是配置配置额外的选项。
第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
第二个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
我勾选默认的第一选项,点击“Next”按钮继续到下图的界面:

14、配置实验选项
这个界面是配置实验选项。
启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。
默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:

15、完成安装
在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。

注:以上就完成了安装,简单一句总结就是除开安装位置修改一下,其他一路“NEXT”,完成后,可以点击 win 建,检查一下 Git的两种模式是按照成功。

二、SSH 证书生成(Linux、windows)

一、介绍SSH证书:

1.首先什么是SSH
Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。通过加密保证了数据的保密性和完整性。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。

2.SSH的好处

1、传统的FTP、Telnet是再网络中明文传送数据、用户帐号和密码,很容易受到中间人攻击。而通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了, 而且也能够防止DNS和IP欺骗。
2、第二个好处是:传输的数据是经过压缩的,所以可以加快传输的速度。

3.怎么实现SSH的好处呢?【怎么才能做到加密】

SSH利用SSH Key来进行前面提到的基于密钥的安全验证

4.SSH-Key是什么?

1、SSH-Key 就是一对密钥对。【一个是公钥,一个是私钥】
2、公钥是给别人用的。私钥是给自己用的。
3、别人是谁?可以是GitLab服务器。 自己是谁?可以是本地。
4、举个例子
  4.1》本地想要使用git从gitHub/gitlab上拉取代码。
  4.2》给GitHub/GitLab配置公钥,公钥就可以作为一个加密的箱子,将代码放在箱子里。
  4.3》被本地拉取到后,使用私钥将加密的箱子打开。就能拿到代码了。
  4.4》整个过程中,都没有用户名/密码在网络中传输,所以不会给他人拦截到,破解你的数据
5、所以,SSH-Key的直观作用,就是【让你方便的登录到 SSH 服务器,而无需输入密码】

5.SSH-Key的密钥类型

有RSA和DSA两种认证密钥

6.目录.ssh下的文件说明

id_rsa :存放私钥的文件
id_rsa.pub :存放公钥的文件
known_hsots :可以保存多个公钥文件,每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts文件中
authorized_keys :A机器生成的公钥-->放B的机器.ssh下authorized_keys文件里,A就能免密访问B,但是B不能访问A。如果需要两台电脑互相访问均免密码。则需要重复上面的步骤(机器的配置刚好相反)。

二、Linux生成证书

1、开启ssh和查看是ssh否开启
[root@VM_0_6_centos ~]# netstat -anp|grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*            
tcp        0     36 172.16.0.6:22           211.161.248.60:22447 
[root@VM_0_6_centos ~]# service sshd start
Redirecting to /bin/systemctl start sshd.service

2、查看是否有生成的证书

[root@VM_0_6_centos .ssh]# cd  /root/.ssh
[root@VM_0_6_centos .ssh]# ls
[root@VM_0_6_centos .ssh]#

3、生成证书 ssh-keygen -t rsa
邮箱可以不是真实的。

[root@VM_0_6_centos .ssh]# ssh-keygen -t rsa -C "zhengja@dist.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ANbGYlsumXjZ3GzsgkCen80YNwl5Y1/U4zGgDcgaVIA zhengja@dist.com
The key's randomart image is:
+---[RSA 2048]----+
|   o=B....oo     |
|  E.*.@  +. =    |
| o + ^.B.... +   |
|  = X B.*   .    |
|   + X +S        |
|    = + .        |
|       .         |
|                 |
|                 |
+----[SHA256]-----+
[root@VM_0_6_centos .ssh]# ls
id_rsa  id_rsa.pub
[root@VM_0_6_centos .ssh]#

3、证书使用
可以配置gitlab、github、其它机器上等。
例如:配置gitlab
获取公钥(id_rsa.pub)内容

[root@VM_0_6_centos .ssh]# vim id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMXYx0+V6xndjSdHpwOWqtqwQ2Wn95mFemNZuuKcILnqPP/bVJm3RKKmCu7jUqM2YgQOSEOAwdvKHTfKKFVLMXHvbKY63TdlrhvGZSXmsZPRVi3pxz2bZC+Wuxv3feVKypCWuHZBNjrmVylaDA7XcFwFrqH367621O/DIad1QgysXqX1ZhkL9SSlKVSowgyWcNvO3vXRkomg5oxiRCxhcuMsiN+WhJPuynNCMqPSIb/xNmX8lvXB2wTVqEnnlwsy849Mduv6g1I2OipOTUyDcEj8G+Tl4c44bYJKlyYxo7eF0MhZgAVpFBlcU+s/CpZfa4VdoOMehNr8NTUqxYbsmT zhengja@dist.com

复制公钥:id_rsa.pub 内容–>配置gitlab
登录gitlab点击头像–>settings–>SHH Keys

4、测试使用
Linux安装git

[root@VM_0_6_centos local]# yum install git
[root@VM_0_6_centos local]# git --version
git version 1.8.3.1

配置git: email要和上面的配置一致(email可以不是真实的)

[root@VM_0_6_centos ~]# git config --global user.name "zhengja"
[root@VM_0_6_centos ~]# git config --global user.email "zhengja@dist.com"

随便找个自己gitlab上的项目

是否能下载gitlab项目
[root@VM_0_6_centos ~]# git clone ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/zhengja/springboot-test-gitlab.git
Cloning into 'springboot-test-gitlab'...
The authenticity of host '[elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn]:5337 ([52.83.120.124]:5337)' can't be established.
ECDSA key fingerprint is SHA256:cb3sC2zG1MwV8pkEZzfNzQ1V+3PZaEEc2UEdkHsdq2c.
ECDSA key fingerprint is MD5:be:bd:1d:07:f9:5e:27:25:6e:b5:af:e6:61:15:f8:d0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn]:5337,[52.83.120.124]:5337' (ECDSA) to the list of known hosts.
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 22 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (22/22), done.
[root@VM_0_6_centos ~]# ls
springboot-test-gitlab

成功!

三、windows生成证书

1、查看是否有生成的证书

默认位置:C:\Users\Administrator.ssh

在Windows下查看**[c盘->用户->自己的用户名->.ssh]*下是否有"id_rsa、id_rsa.pub"*文件,这两个就是证书文件默认名称。

2、生成证书 ssh-keygen -t rsa

安装好git后:

右击 空白处-->进入 Git Bash Here :邮箱可以不是真实的

$ ssh-keygen -t rsa -C "zhengja@dist.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:WDXfBdxE5au0AE0hCIE8u6aaqbQJIS883mBMNs4zm4k zhengja@dist.com
The key's randomart image is:
+---[RSA 2048]----+
|  . .oo ..oo...=*|
|   +   . .+o ..o.|
|    o   .. .. . .|
|   .   o  .     .|
|o+  . . S  . . . |
|Oo.o        o o  |
|o%+          o   |
|*=%              |
|EB .             |
+----[SHA256]-----+

3、查看是否生成证书文件

4、使用ssh证书

可以配置gitlab、github、其它机器上等。

例如:配置gitlab

获取公钥(打开id_rsa.pub文件)内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMXYx0+V6xndjSdHpwOWqtqwQ2Wn95mFemNZuuKcILnqPP/bVJm3RKKmCu7jUqM2YgQOSEOAwdvKHTfKKFVLMXHvbKY63TdlrhvGZSXmsZPRVi3pxz2bZC+Wuxv3feVKypCWuHZBNjrmVylaDA7XcFwFrqH367621O/DIad1QgysXqX1ZhkL9SSlKVSowgyWcNvO3vXRkomg5oxiRCxhcuMsiN+WhJPuynNCMqPSIb/xNmX8lvXB2wTVqEnnlwsy849Mduv6g1I2OipOTUyDcEj8G+Tl4c44bYJKlyYxo7eF0MhZgAVpFBlcU+s/CpZfa4VdoOMehNr8NTUqxYbsmT zhengja@dist.com
复制公钥:id_rsa.pub 内容-->配置gitlab

登录gitlab点击头像-->settings-->SHH Keys

5、测试shh证书使用

找的空文件夹-->右击 空白处-->进入 Git Bash Here
Administrator@ZhengJiaAo MINGW64 /d/FileTest/Testgitlab
$ git clone ssh://git@elbgit-1200450932.cn-northwest-1.elb.amazonaws.com.cn:5337/zhengja/springboot-test-gitlab.git
Cloning into 'springboot-test-gitlab'...
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 22 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (22/22), done.

成功!

6、向Gitee上传文件

四、证书使用场景

例如:

windows通过Xshell 以ssh方式连接 Linux系统

Linux 以ssh连接另一台Linux系统

git使用ssh免密连接gitlab、github等下载项目

jenkins配置ssh连接slave节点机器 等等......



参考链接

Windows系统Git安装教程(详解Git安装过程)
SSH 证书生成(Linux、windows)
git rebase vs git merge详解
Git的Fast Forward和no fast foward合并模式对比

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值