Git的实战流程
JasonDev324

链接gitee的步骤
为了解决 Permission denied (publickey),因此有了这篇文章。

1.生成公钥
ssh-keygen -t ed25519 -C "xxx@outlook.com"
接着要设置保存私钥的文件名
Enter file in which to save the key (/Users/username/.ssh/id_ed25519):
默认是id_xx,xx是上述-t 后面的字符串,可以改为id_github ,id_gitee等

2.连接agent
ssh-agent bash

3.添加私钥
ssh-add ~/.ssh/id_ed25519 ,注意此处的id_ed25519是生成私钥的文件名,位于.ssh目录下

4.查看私钥是否链接成功
ssh-add -l
如果成功,则显示
256 SHA256:xxxxxx
否则,显示
could not open a connection to your authentication agent.
或者
The agent has no identities. , 这就需要配置账户了git config –global user.name

5.将id_pub里的内容设置到网站的ssh里

6.测试链接
ssh -T git@gitee.com
如果不成功,有可能是项目里设置的远程是github,需要进入到项目的git config文件里修改remote

7.如何配置多个仓库的git,生成config文件
touch config
配置相应的信息
Host github.com
User git
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

Host gitee
User git
# 替换为你公司的 Git 代码托管平台的服务器
Hostname company-git-repo.com
# 你公司 SSH 服务的端口号
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519

Host:指定连接到的主机名,可以随意指定,相当于实际连接目标主机的别名;github一定要设置为github.com ,否则出现git connection closed by port 22 的错误

User:指定使用的用户名,通常为 git,也可以不指定;

Hostname:指定连接到的主机的实际域名或IP地址。如果是向 Github 推送代码,则为 github.com,如果是向公司的 Git 代码托管平台推送代码,则填写公司主机的地址

Port:SSH 服务的端口号,默认为 22,可以不写,可设置为443

PreferredAuthentications:指定优先使用的身份验证方法,指定为publickey,即使用公钥进行身份认证。

IdentityFile:指定要使用的私钥文件路径,即指向你创建的私钥,我们这里分别为不通的 Git 代码托管平台指定了不同的私钥

设置本地链接远程
git remote add origin 仓库地址

常见错误
error: src refspec main does not match any 本地分支与远程分支不一样导致推送失败,用git branch 分支名,将本地分支名进行修改。

Powered by Hexo & Theme Keep
Total words 22k Unique Visitor Page View