IDEA、Git、TortoiseGit
Github/Gitee
拉取成功
本地仓库
2.2.1 (第一种登录方式)账号密码登录成功
2.2.2 (第二种登录方式)此处特别强调密码不允许保存和使用,只允许使用Token登录,点击切换Token登录
生成新令牌:
填写令牌描述,拥有的权限
提交后生成成功,务必事先复制token,关闭后不在显示token信息
Idea 以Token登录:
Token 登录成功:
GitHub 类似:
输入正确的账号密码后,但一直会有提示输入用户名及密码
原因分析
出现这种情况的原因是我们使用了http的方式clone代码到本地,相应的,也是使用http的方式将代码push到服务器。
解决办法
解决办法很简单,将http方式改为ssh方式即可。
Idea 删除原有http方式,改为ssh方式
报错提示:
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控制台:
按如下命令来生成 sshkey:
ssh-keygen -t rsa -C "[email protected]"
# 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 [email protected]
首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功。
IDEA重新添加Git Remotes,以SSH方式为URL
添加成功
Commit
Push (Git 必须push才是真正将代码提交到服务器,Commit只是本地提交)
提交成功:
错误提示:
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
然后重新拉取代码,拉取成功