环境:

IDEA、Git、TortoiseGit

Github/Gitee

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

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

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

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

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

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

拉取成功

本地仓库

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

2.1 安装配置Git插件

2.2 GitHub/Gitee插件

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

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

生成新令牌:

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

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

Idea 以Token登录:

Token 登录成功:

GitHub 类似:

2.3 Idea 导入项目

2.3.1 点击拉取/上传按钮

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

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

原因分析

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

解决办法

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

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

报错提示:

Remote URL test failed: git@gitee.com: 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控制台:

按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...

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

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

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

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

公钥已经生成

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

ssh -T git@gitee.com

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

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

添加成功

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

3.1 Push代码到Gitee

Commit

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

提交成功:

3.2 从Gitee 拉取代码到IDEA

错误提示:

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类似

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐