第一次写,可能写的比较乱,主要用来记录一下,以防下次再用到又忘记了!。多的不说了,直蹦主题吧。希望有不对的地方,过路大佬帮忙指正(也没大佬会看这么辣鸡的东西吧!哈哈哈)。
问题:在把自己本地写的一些东西放到github上,在使用ssh地址连接远程仓库时,连接不上;主要的问题是sshkey的问题。以下是我操作的流程:
第一步:在要上传的文件夹中右击打开Git Bash命令窗口输入git init,让当前文件夹变成Git可管理的仓库,即本地仓库。

第二步:提交要上传的内容;使用git add .提交所有内容到暂存区。


第三步:连接远程仓库
由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下: 创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车。(使用一种git版本管理没有问题)所以这里的命令要加点内容
使用GitHub管理 ssh-keygen -t rsa -C "github注册的邮箱" -f id_rsa_github


因为使用SSH生成Key,默认在用户~/.ssh目录下生成id_rsa和id_rsa.pub两个文件,在id_rsa_后加xxx可以对应配置。

这里以github为例,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:



第四步:配置私钥和修改配置文件
然后设置私钥: git自动将新生成的私钥添加到known_hosts中
ssh-add ~/.ssh/id_rsa_gitlab
ssh-add ~/.ssh/id_rsa_github
如果执行ssh-add时提示”Could not open a connection to your authentication agent”,可执行以下命令:
ssh-agent bash
然后再执行ssh-add命令。
修改配置文件:
在~/.ssh目录下新建一个config文件
$ touch config 添加以下内容(此处应添加你的私钥目录和私钥对应的HostName,即能够正常访问的域名)
#gitlab
Host gitlabay.com
HostName gitlab.tpay.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
最后使用 ssh -T git@(gitlab.com/github.com)测试

第五步:建立远程仓库
点右上角new repository新建



第六步:连接远程仓库
在本地projectvue仓库的命令行输入:
git remote add origin git@github.com:chinazhenghuayue/test2.git
关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数。然后进去GitHub test2这个仓库刷新下就会有已经上传的文件夹了。如果新建远程仓库不是空的,例如你勾选了 Initialize this repository with a README。这时你要先输入:
git pull --rebase origin master
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以上命令先将内容合并,再输入 git push origin master。
在输入git push origin master之后,如果报这个错误: To github.com:chinazhenghuayue/test2.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:chinazhenghuayue/test2.git'

然后要重新提交一遍:git add . --> git commit -m '随便说的啥吧' --> git push origin master。
这篇文章是我基于Win10平台上的实践,由于知识有限,可能还是没有总结得很完整,也可能在其他平台上会遇到一些其他的问题,暂时没有去研究,如果读者有遇到什么问题,欢迎留言讨论,共同学习。