git安装及配置
文章目录
Git的环境配置
一、安装git
选择一个合适的保存目录
勾选一下选项
无脑Next
电脑名尽量不要用中文
二、注册GitHub账户
打开加速器推荐一个免费的:魔戒.net (mojie.nl)
购买一个1块钱体验装
下载安装Clash.for.Windows
一个好用的梯子管理平台,可以在上面使用购买的代理
导入节点
点击一键导入即可,然后会自动跳入该软件,使用代理即可
找到主页打开这几个选项即可,每次使用时打开系统代理,不使用的时候关闭就行了
可以在代理界面选择节点。
解释一下全局和规则的意思。
全局:所有网络均使用代理翻墙
规则:仅国外网站使用代理翻墙,浏览国内网站还是正常通过国内渠道访问
给大家推荐另一个更好用的节点
导航页 | GW树洞专用 (helloshudong.com)
打开代理以后进入GitHub官网,注册一个账号。
三、配置git
1.检查安装
进入git检查是否成功安装,在终端中输入以下命令
git --version
出现该命令证明安装成功,如果没有出现卸载掉重新安装
检查 Git 是否已经添加到系统的 PATH 环境变量中。在终端中输入以下命令
echo $PATH
如果出现这样的路径说明安装成功,如果没有看到 Git 安装路径的输出,则需要手动将 Git 的安装路径添加到系统的 PATH 环境变量中。将安装路径的cmd文件添加到PATH中。D:\Git\Git\cmd
2.配置信息
Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
- 配置用户名
git config --global user.name "username" //( "username"是自己的账户名,)
该命令用于配置Git全局的用户名称(user.name)属性,并将其设置为指定的值(“username”)。该属性用于标识在提交代码时该提交是由哪个用户所执行的,通常与用户的GitHub或GitLab账户名称相同。
通过使用
--global
参数,该命令会将配置应用于当前用户的所有Git仓库。如果省略--global
参数,则该命令只会将配置应用于当前Git仓库。需要注意的是,设置了user.name之后,每次提交代码时Git都会将该用户名称与提交信息一同记录下来,因此建议将该值设置为自己的真实姓名或用户名,以方便其他开发者识别和联系到你。
- 配置邮箱
git config --global user.email "username@email.com" //("username@email.com"注册账号时用的邮箱)
- 以上执行结束后,使用以下命令查看是否安装完成
git config --global --list
出现以下内容证明安装成功
3.生成 SSH
解释一下什么是ssh
SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地传输数据。它主要用于远程登录、远程执行命令、传输文件等操作,可以让用户通过不安全的网络连接到远程计算机,并在远程计算机上执行各种操作,而不必担心数据被窃取或篡改。
SSH 协议使用了公钥加密算法和对称加密算法来实现数据的加密和身份验证。在使用 SSH 协议进行连接时,客户端和服务器之间会通过一系列的加密和验证过程,确认对方的身份,然后使用公钥加密算法和对称加密算法对传输的数据进行加密和解密。
通过 SSH 协议连接到远程计算机后,用户可以执行各种命令,包括查看文件、编辑文件、编译程序、运行脚本等操作。此外,SSH 协议还可以用于传输文件,例如通过【1】 SCP(Secure Copy)或 【2】SFTP(Secure File Transfer Protocol)协议传输文件,这些协议都基于 SSH 协议,并使用相同的加密和身份验证机制,保证了传输的数据的安全性。
- 继续刚才的操作,在命令框中输入命令
ssh-keygen -t rsa
ssh-keygen -t rsa
是一个用于在本地计算机上生成 SSH 密钥对的命令。该命令会生成一对密钥,包括一个私钥和一个公钥。私钥保存在本地计算机上,用于对 SSH 连接进行身份验证;公钥则可以复制到远程计算机上,用于对 SSH 连接进行加密。
-t
参数指定了要生成的密钥类型,这里使用的是 RSA 密钥。RSA 密钥是一种非对称加密算法,可用于加密和解密数据,也可用于身份验证。在生成 RSA 密钥对时,需要指定密钥长度,一般建议使用 2048 位或以上的密钥长度,以保证足够的安全性。生成 SSH 密钥对后,会提示您输入密钥保存路径、密钥文件名以及密钥口令等信息。您可以选择接受默认值,也可以自定义这些信息。最后,您可以将公钥复制到远程计算机上,以便在 SSH 连接时进行身份验证和加密。
敲回车,在Overwrite(y/n)输入y
注意id_rsa和id_rsa.pub安装的路径位置
然后取系统目录找到这个文件夹。如果忘记.ssh
文件位置,可以在命令行输入
~/.ssh
在使用
ssh-keygen -t rsa
命令生成 SSH 密钥对时,默认情况下会生成id_rsa
和id_rsa.pub
两个文件。其中,id_rsa
是私钥文件,而id_rsa.pub
则是公钥文件。在 SSH 连接过程中,私钥文件会保存在本地计算机上,用于进行身份验证,而公钥文件则需要复制到远程计算机上,用于进行加密。
4.添加到GitHub管理平台
- 将ssh文件夹中的公钥(id_rsa.pub)添加到GitHub管理平台中,在GitHub的个人账户的设置中找到如下界面
title随便起一个,将公钥(id_rsa.pub)文件中内容复制粘贴到key中,然后点击Ass SSH key就好了。
注意如果电脑设备名称是中文使用Git时可能出现未知错误,笔者查了很多方法,只有两种可行
第一种:重新安装系统,会导致数据丢失需要提前备份。
第二种:修改注册表,不推荐这种方法需要对电脑操作很了解有基础才行,修改注册表如果操作不当会出现不可逆的伤害
如果有条件尽量重新安装系统。
如果没有问题,点击Add SSH key即可
5.检查是否配置成功
在Git Bush命令框(就是刚才配置账号和邮箱的命令框)中继续输入以下命令,回车
ssh -T git@github.com
看到这样即配置成功
6.多平台多账户使用Git
在.ssh目录创建【3】config文本文件并完成相关配置(最核心的地方)
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可
HostName :这个是真实的域名地址
IdentityFile:这里是id_rsa的地址
PreferredAuthentications :配置登录时用什么权限认证–可设为【4】publickey,password,publickey,keyboard-interactive等
User :配置使用用户名
# 第一个账号Host account1 HostName example.com IdentityFile ~/.ssh/account1_rsa PreferredAuthentications publickey,password User username1 #你的邮箱# 第二个账号Host account2 HostName example.com IdentityFile ~/.ssh/account2_rsa PreferredAuthentications publickey,password User username2 #你的邮箱
【1】SCP(Secure Copy):基于 SSH 协议的安全传输协议,SCP 是一种简单、快速、可靠的文件传输协议,它使用 SSH 协议进行加密和身份验证,支持通过命令行和图形界面两种方式进行操作。SCP 在传输文件时会对文件进行压缩,以提高传输效率。SCP 可以用于从本地计算机向远程计算机传输文件,也可以用于从远程计算机向本地计算机传输文件。
【2】SFTP(Secure File Transfer Protocol):基于 SSH 协议的安全传输协议,SFTP 是一种更加灵活、强大的文件传输协议,它支持目录的创建、删除、重命名、移动、复制等操作,并支持断点续传、加密传输、压缩传输等功能。SFTP 使用 SSH 协议进行加密和身份验证,可以保证传输的数据的安全性和完整性。SFTP 可以用于在本地计算机和远程计算机之间传输文件,也可以在远程计算机之间传输文件。
【3】config文件:config文件(或者称作配置文件)是一种包含程序运行时所需参数的文本文件,通常用于配置应用程序或者系统的行为。在Linux和Unix系统中,config文件通常被放置在/etc目录下或者应用程序的主目录下。config文件可以包含各种配置选项,例如数据库连接字符串、日志级别、端口号、默认选项等。在SSH中,config文件可以用于管理和配置SSH客户端和服务端的连接选项,例如主机名、端口、身份验证、SSH密钥路径等。
【4】publickey,password,publickey,keyboard-interactive:
- publickey:使用SSH密钥对进行身份验证。在SSH连接时,客户端会向服务器发送公钥,服务器则使用存储在服务器上的与该公钥匹配的私钥进行身份验证。这种方式比密码更加安全,因为密钥对通常比密码更难以被猜测和破解。
- password:使用用户名和密码进行身份验证。这是一种最常见的身份验证方式,用户必须输入其用户名和密码才能连接到远程服务器。这种方式比SSH密钥对更容易实现和管理,但也更容易受到攻击,因为密码可能会被猜测或者被拦截。
- publickey,password:此选项允许您同时使用SSH密钥对和密码进行身份验证,客户端会尝试使用密钥对进行身份验证,如果身份验证失败,则会使用密码进行身份验证。
钥进行身份验证。这种方式比密码更加安全,因为密钥对通常比密码更难以被猜测和破解。 - password:使用用户名和密码进行身份验证。这是一种最常见的身份验证方式,用户必须输入其用户名和密码才能连接到远程服务器。这种方式比SSH密钥对更容易实现和管理,但也更容易受到攻击,因为密码可能会被猜测或者被拦截。
- publickey,password:此选项允许您同时使用SSH密钥对和密码进行身份验证,客户端会尝试使用密钥对进行身份验证,如果身份验证失败,则会使用密码进行身份验证。
- keyboard-interactive:此选项要求用户在SSH连接中输入一个或多个响应,例如安全令牌、短信验证码等。这种身份验证方式比密码更加安全,因为攻击者需要访问用户的设备才能获取响应。
来源地址:https://blog.csdn.net/m0_72983118/article/details/130546429
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341