关于git的疑难杂症

个人记录,请勿参考。

在Gitee中添加公钥后仍然无法通过SSH克隆仓库

网上各类教程都说生成SSH密钥的命令里面要包含邮箱地址或用户名什么的,亲测不用,只需要运行以下命令即可。

ssh-keygen -t ed25519

注意:这是Gitee产品文档中所描述的,使用其他类型的密钥可能行不通,原因未知。文档链接如下所示。

https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE

然后把带有.pub后缀的公钥里的内容复制并添加到Gitee中。

最后,(以Windows为例)在用户文件夹C:\Users\your_name下的隐藏文件夹.ssh里的config文件里追加以下内容。

Host gitee
  HostName gitee.com
  IdentityFile C:\Users\your_name\.ssh\id_ed25519

其中,id_rsa_ed25519为在上文中生成的密钥的名称,不需要带.pub后缀。

即可通过SSH克隆仓库。

(亲测GitHub同理)

某个本地仓库推送到多个远程仓库

可以是不同平台,如Gitee和GitHub,本文在Gitee中创建2个远程仓库以作示范。

以下命令创建一个本地仓库并且添加一个文件。

git config --global user.name "your_name"
git config --global user.email "your_email"
mkdir test
cd test
git init 
touch README.md
git add README.md
git commit -m "first commit"

运行以下命令添加第一个远程仓库。

git remote add repA git@gitee.com:your_name/your_repA.git
git push -u repA "master"

第一行命令中repA为你取的远程仓库的名字。实际上也可以取任何你喜欢的名字,只是在本地上用于区分不同的远程仓库。后面为远程仓库的链接。

同理,运行以下命令添加第二个远程仓库。

git remote add repB git@gitee.com:your_name/your_repB.git
git push -u repB "master"

至此已经实现了某个本地仓库推送到多个远程仓库,只不过需要手动指定推送到哪个仓库。

运行以下命令可以查看添加了多少个远程仓库。

git remote

另记

Git可以使用Portable版,也自带SSH工具。下载链接如下所示。

https://git-scm.com/download/win

解压后,Git在如下路径。

PortableGit\usr\bin

SSH工具在如下路径。

PortableGit\bin

记得把上述路径添加到环境变量,重启。

但是:SSHD好像不能添加进服务里,或者说我不会,所以只能用SSH。想用完整功能还是去安装SSH。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值