我们知道git代码管理工具实践方式是,建立了两个仓库(本地仓库和远程仓库)。那么问题来了,git是怎么进行本地仓库和远程仓库进行联系的呢?这里有一个ssh的秘钥连接。
1:我们可以先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件:。
没有的情况下):执行下面命令进行创建
$ ssh-keygen -t rsa -C "youremail@example.com"
"youremail@example.com":这个是github注册时所用的邮箱
然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件
注意:这时有的电脑会报错: ssh-keygen不是内部命令或外部命令。。。。。
原因是ssh-keygen没有加入Path环境变量,系统就执行不了这个命令
解决办法:
点击“计算机”,搜索ssh-keygen,复制所在路径;
右击“计算机”,属性-->高级系统设置-->环境变量-->系统变量,找到Path变量,进行编辑,End到最后,输入分号,粘贴复制的ssh-keygen所在的路径,保存;
重新cmd,执行ssh-keygen,成功!
有的情况下):执行下一步操作
2:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。
具体步骤也可看下面:
第七步:在Github上创建一个Git仓库。
第八步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
$ git remote add origin Git仓库地址
注意origin后面加的是你Github上创建好的仓库的地址。
第九步:关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
$ git push origin master
上传项目的过程可能需要等一段时间,完成之后是这样的:
至此就完成了将本地项目上传到Github的整个过程。
另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
这时你再push就能成功了。