目录
四、使用IntelliJ IDEA从第三方Git服务器拉取工程到本地
需求
a. 配置一个 DevCloud 账号
b. 配置两个不同账号:一个 gitee,用于公司内部的工作开发;一个 github,用于自己进行一些开发活动
c. 配置两个相同账号:一个是华为云企业子账号用于公司内部的开发工作;一个是自己的华为云账号用于自己进行一些开发活动。
上述的 gitee,github,DevCloud 或其他如 gitlab 等等,以下统称第三方Git服务器。
d. 使用 IntelliJ IDEA 上传本地项目到第三方Git服务器(针对新工程)
e. 使用 IntelliJ IDEA 从第三方Git服务器拉取工程到本地
准备工作
1. 下载并安装Git
2. 下载并安装IntelliJ IDEA
此处不再赘述,网上有很多教程。
配置用户信息
安装好 Git 之后,首先我们配置一下用户信息,有 name 和 email。这个用户信息有什么作用呢,用于你提交代码的时候使用,你会看到你提交代码的名字使用的是 name 配置的名字,email 没有特殊要求。用户信息配置分为全局变量配置和局部变量配置,还有一个系统级的配置用的很少这里不赘述。
1. 全局变量配置用户信息
git config --global user.name "John Doe"
git config --global user.email "johndoe@example.com"
这里的 --global 表示全局变量级别的,配置信息会保存在 ~/ 目录下的 .gitconfig 文件中。
2. 局部变量配置用户信息
git config --local user.name "John Doe"
git config --local user.email "johndoe@example.com"
区别在于 --local 选项。要配置局部变量级别的用户信息,只能在 Git 仓库内使用,也就是说只能在工程目录中使用,配置成功之后,会保存在工程目录中隐藏的 .git 目录中的 config 文件中。
需要注意的是,用户信息的使用优先级:local > global。
当我们同时配置了全局级别的用户信息和局部变量级别的用户信息时,使用 git commit 代码时,Git 会先检查是否存在局部变量级别的用户信息,如果存在则使用,如果不存在会检查是否存在全局变量级别的用户信息,如果存在则使用,如果都不存在,操作会失败;如果都不存在,使用 IntelliJ IDEA 提交代码时,会让你输入用户信息,且有一个勾选项,勾了之后点击 OK 会自动保存全局变量级别的用户信息,如果不勾点击 OK 会自动保存局部变量级别的用户信息。
Git的验证方式
-
HTTPS方式,第一次使用时需要输入账号和密码,账号密码可以在第三方Git服务器上配置。系统会把账号密码保存在:控制面板 > 用户账户 > 凭据管理器 中的 Windows凭据 中进行管理,不需要每次使用时都输入账号密码。网上有人说用 HTTPS 方式每次提交代码都会让输账号密码我没有遇到过。

- SSH方式,SSH 密钥对总是成双出现的,一把公钥,一把私钥。公钥可以自由的放在您所需要连接的 SSH 服务器(第三方Git服务器)上,而私钥必须稳妥的保管好。其实就是"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机(第三方Git服务器)上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录,不再要求密码。这样子,我们即可保证了整个登录过程的安全,也不会受到中间人攻击。
更多关于 SSH keys 的文档请查看:SSH keys (简体中文)
生成SSH-KEY
在工程目录下右键点击 "Git Bash Here",进入命令行终端。
ssh-keygen -t rsa -C "邮箱地址"
-C "邮箱地址",这里的邮箱地址只是一个生成 随机密钥 的随机字符串而已,有些第三方Git服务器要求真实有效的邮箱地址,甚至有些第三方Git服务器会要求使用注册时账号绑定的邮箱地址。但是我曾经用 "abc" 代替邮箱地址生成 SSH 密钥,在第三方Git服务器上成功克隆代码到本地。但是为了方便记忆,使用注册时绑定的真实有效的邮箱地址即可。那么当要配置多个 SSH 密钥时,可以使用同一个邮箱地址。
你可能会有疑问,如果用同一个邮箱地址计算出来的密钥是否一致。注意我前面说的是 "随机密钥",你用同一个邮箱地址通过 rsa 算法生成的密钥是不同的。这里你可能注意到了,-t 就是你要选择的加密算法。
接下来我们执行看一下:

1. 输入你的密钥名字,可以不输直接回车,默认名字为 id_rsa,默认存储目录是一个隐藏目录:~/.ssh/。如果我们要配置多个 SSH 密钥时,这里的名字要区分开,比如我要配置两个 SSH 密钥,一个是 gitee 我这里取名叫 gitee_id_rsa;另一个是 github 我这里取名叫 github_id_rsa。
2. 输入一个密码。此密码与 HTTPS 密码不同,设置密码后在命令端使用 Git 命令操作工程代码时(如 pull 代码)每次都会要求输入该密码。其目的是为了防止当私钥被窃取时不容易被破解导致第三方Git服务器上的代码丢失(或 SSH 服务器上的重要文件丢失)。但是在 IntelliJ IDEA 中点击记住密码只需要输入一次,往后就不会再提示输入密码。我这里设置了密码,如果没有输入密码,回车即可。
此密码一定不要忘记,如果忘记可以删除第三方Git服务器公钥,重新生成SSH密钥进行配置。可以在不修改密钥对的情况下修改第2点设置的密码,使用下列命令:
ssh-keygen -f ~/.ssh/id_rsa -p
-f ~/.ssh/id_rsa 找到你要修改密码的私钥,-p 回车后,先输入原密码,再输入两次新密码。
3. 再次输入密码,确认密码。第2点没有输入密码,这里直接回车即可。
看一下默认生成的密钥存储目录 ~/.ssh/:

可以看到除了生成了一个名叫 id_rsa 的私钥以外,还生成了一个名叫 id_rsa.pub 的公钥,公钥以 .pub 结尾。同理,当配置有多个 SSH 密钥时,根据 SSH 密钥名字也会有对应的公钥。如第1点的例子,这里还会有 gitee_id_rsa.pub 和 github_id_rsa.pub。
</

本文详细介绍了如何在IntelliJ IDEA中配置Git,包括用户信息配置、SSH密钥生成、单个及多个SSH密钥配置、上传本地项目至第三方Git服务器以及从服务器拉取项目至本地的全过程。
最低0.47元/天 解锁文章
8780





