背景信息
现在在Cluster上和实验室的GPU上分别跑实验,由于代码管理的问题,把cluster上的代码设置为项目的一个分支,比如叫做Project_Cluster。设想的架构如下:
- 本地Windows PC
- 通过PyCharm写代码并调用实验室Server的GPU
- 修改代码并用Git上传到实验室server
- 必要时把cluster分支的代码合并进来
- 实验室Server
- 跑实验
- 同时也是GitLab的server
- 楼下Cluster
- 通过Putty和SCP登陆
- 修改项目的Project_Cluster分支并上传到实验室server
解决方法
我在Cluster上生成了密钥并把公钥添加到GitLab账户之后依然每次pull时需要输入密码,看了网上有很多帖子在讲这个问题,解决的方法也五花八门,但是最终下边这个方法帮我成功解决了。
主要原因: 需要进行git config设置。
解决方法:
设置git config并保存你的GitLab用户名、邮箱及密码
git config --global user.name "your user name"
git config --global user.email "your email"
验证成功后需要输入GitLab的密码(这就是需要解决的问题)。
我们先输入正确的密码,
接下来可以临时缓存密码:
git config --global credential.helper cache
或者一直保存密码(我用的下边这个):
git config credential.helper store
之后再pull就没有管我要密码了:
其他可能原因及解决
补充一下怎么生成和添加密钥
terminal里输入
ssh-keygen -t rsa -C "your email"
之后到
~/.ssh
文件夹下打开id_rsa.pub
文件并把内容复制并添加到GitLab的SSH Keys中(如下图)