Idea Push/Pull代码到Github/Gitee教程

环境:

IDEA、Git、TortoiseGit

Github/Gitee

一、创建GitHub/Gitee创库(以下为码云Gitee教程,GitHub类似):

1.1 登录码云https://gitee.com/,新建仓库

Idea Push/Pull代码到Github/Gitee教程_第1张图片

1.2 输入仓库信息,创建仓库

Idea Push/Pull代码到Github/Gitee教程_第2张图片

1.3 创建完成后点击“克隆/下载”可以复制HTTPS、SSH、SVN、SVN+SSH地址

Idea Push/Pull代码到Github/Gitee教程_第3张图片

1.4 复制后在文件夹空白处右键选择Git 克隆...(如果右键没有,则先安装Git)

Idea Push/Pull代码到Github/Gitee教程_第4张图片

1.5 点击确定后即可pull仓库到本地,然后尽可在本地上传代码

Idea Push/Pull代码到Github/Gitee教程_第5张图片

拉取成功

Idea Push/Pull代码到Github/Gitee教程_第6张图片

本地仓库

Idea Push/Pull代码到Github/Gitee教程_第7张图片

二、Idea Push/Pull代码到Github/Gitee(以下为码云Gitee教程,GitHub类似):

2.1 安装配置Git插件

Idea Push/Pull代码到Github/Gitee教程_第8张图片

2.2 GitHub/Gitee插件

Idea Push/Pull代码到Github/Gitee教程_第9张图片

2.2.1 (第一种登录方式)账号密码登录成功

Idea Push/Pull代码到Github/Gitee教程_第10张图片

2.2.2 (第二种登录方式)此处特别强调密码不允许保存和使用,只允许使用Token登录,点击切换Token登录

Idea Push/Pull代码到Github/Gitee教程_第11张图片

生成新令牌:

填写令牌描述,拥有的权限

Idea Push/Pull代码到Github/Gitee教程_第12张图片

提交后生成成功,务必事先复制token,关闭后不在显示token信息

Idea Push/Pull代码到Github/Gitee教程_第13张图片

Idea 以Token登录:

Idea Push/Pull代码到Github/Gitee教程_第14张图片

Token 登录成功:

Idea Push/Pull代码到Github/Gitee教程_第15张图片

GitHub 类似:

Idea Push/Pull代码到Github/Gitee教程_第16张图片

2.3 Idea 导入项目

Idea Push/Pull代码到Github/Gitee教程_第17张图片

2.3.1 点击拉取/上传按钮

Idea Push/Pull代码到Github/Gitee教程_第18张图片

2.3.2 提示需要输入账号、密码

Idea Push/Pull代码到Github/Gitee教程_第19张图片

输入正确的账号密码后,但一直会有提示输入用户名及密码

原因分析

出现这种情况的原因是我们使用了http的方式clone代码到本地,相应的,也是使用http的方式将代码push到服务器。

Idea Push/Pull代码到Github/Gitee教程_第20张图片

Idea Push/Pull代码到Github/Gitee教程_第21张图片

Idea Push/Pull代码到Github/Gitee教程_第22张图片

解决办法

解决办法很简单,将http方式改为ssh方式即可。

Idea Push/Pull代码到Github/Gitee教程_第23张图片

Idea 删除原有http方式,改为ssh方式

Idea Push/Pull代码到Github/Gitee教程_第24张图片

报错提示:

Remote URL test failed: [email protected]: Permission denied (publickey). Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

原因分析:请确保有正确的权限和确保仓库时存在的,push操作需要添加个人公钥,添加部署公钥只能进行clone、pull操作。

解决办法:生成/添加SSH公钥,保证拥有正确的权限:https://gitee.com/help/articles/4181#article-header0

码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

在任务空白处右键,点击“Git Bash Here”,打开Git控制台:

Idea Push/Pull代码到Github/Gitee教程_第25张图片

按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "[email protected]"  
# Generating public/private rsa key pair...

按照提示完成三次回车,即可生成 ssh key

Idea Push/Pull代码到Github/Gitee教程_第26张图片

通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key(公钥)

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

Idea Push/Pull代码到Github/Gitee教程_第27张图片

复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

Idea Push/Pull代码到Github/Gitee教程_第28张图片

Idea Push/Pull代码到Github/Gitee教程_第29张图片

公钥已经生成

Idea Push/Pull代码到Github/Gitee教程_第30张图片

添加后,在终端(Terminal)中输入

ssh -T [email protected]

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。

Idea Push/Pull代码到Github/Gitee教程_第31张图片

IDEA重新添加Git Remotes,以SSH方式为URL

Idea Push/Pull代码到Github/Gitee教程_第32张图片

添加成功

Idea Push/Pull代码到Github/Gitee教程_第33张图片

三、测试Idea Push/Pull代码到Github/Gitee(以下为码云Gitee教程,GitHub类似):

3.1 Push代码到Gitee

Idea Push/Pull代码到Github/Gitee教程_第34张图片

Commit

Idea Push/Pull代码到Github/Gitee教程_第35张图片

Push (Git 必须push才是真正将代码提交到服务器,Commit只是本地提交)

Idea Push/Pull代码到Github/Gitee教程_第36张图片

提交成功:

3.2 从Gitee 拉取代码到IDEA

Idea Push/Pull代码到Github/Gitee教程_第37张图片

错误提示:

No tracked branch configured for branch master or the branch doesn't exist.To make your branch track a romote branch call,for example,git bracn -set-upstream-to origin/master master

解决办法:

idea terminal 输入 git branch --set-upstream-to origin

git branch --set-upstream-to origin

总结一下:本地仓库有文件,远程仓库也有文件,正确操作:

# 第一步
git remote add origin 远程仓库地址
# 第二步
git pull origin master --allow-unrelated-histories
# 第三步
git branch --set-upstream-to=origin/master master

然后重新拉取代码,拉取成功

四、Idea Push/Pull代码到Github类似

你可能感兴趣的:(Intellij,IDEA)