个人记录,请勿参考。
在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。