想要在公司和家里的电脑上用同一个git账号来pull, push代码
1. 查看原设备的用户名和邮箱
第1种方法, 依次输入
git config user.name
git config user.email
第2种方法, 输入
cat ~/.gitconfig
2. 配置新设备的用户名和邮箱
用户名和邮箱与原设备保持一致
git config --global user.name "用户名"
git config --global user.email "邮箱"
ssh-keygen
输入上面三句话之后会弹出提示是否在此电脑上创建.ssh文件夹,回车同意即可
接着会提示设置密码,不设置就连按两次回车
完成之后,在 “C:\users\你的用户名.ssh” 文件夹下会生成两个文件
3. 在GitLab添加SSH keys
打开GitLab → “Profile settings” → “SSH Keys” → “Add SSH Key”
用记事本打开id_ed25519.pub,复制全部内容到Key文本框中,Title会自动识别出来,点击"Add Key"
无法添加SSH Key,提示"Fingerprint cannot be generated"
解决方法:
换成rsa加密方式的SSH key,在git命令行输入
ssh-keygen -t rsa -C "邮箱"
.ssh文件夹下新增两个文件
记事本打开 “id_rsa.pub”,复制全部内容,粘贴在Key输入框内, Title会自动生成,点击按钮Add key生成,成功。
4. 在新设备上git clone指定分支的代码
git clone -b my_branch git@gitlabxxxxxxxxxxxxxxxxxxxxxx.git
报错了
解决方法:
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
创建config文件后,重新git clone就可以了
参考
- 不同设备使用同一个Git账号
- GitLab秘钥添加
- 记一次使用git报错,解决Unable to negotiate with **** port 22: no matching host key type found. Their offer: ssh-rsa