企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置: 第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令: `ssh-keygen -t rsa –C “youremail@example.com”,` 由于我本地此前运行过一次,所以本地有,如下所示: ![](https://box.kancloud.cn/2016-08-18_57b58ee2ce48c.png) id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。 第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。 ![](https://box.kancloud.cn/2016-08-18_57b58ee2ec108.png) 点击 Add Key,你就应该可以看到已经添加的key。 ![](https://box.kancloud.cn/2016-08-18_57b58ee419111.png) 1、如何添加远程库? 现在的情景是:我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。 首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库。如下: ![](https://box.kancloud.cn/2016-08-18_57b58ee43624c.png) 在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库: ![](https://box.kancloud.cn/2016-08-18_57b58ee4546fb.png) 目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。 现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令: `git remote add origin https://github.com/tugenhua0707/testgit.git` 如下: ![](https://box.kancloud.cn/2016-08-18_57b58ee475296.png) 把本地库的内容推送到远程,使用 `git push`命令,实际上是把当前分支master推送到远程。 由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,上面的要输入github的用户名和密码如下所示: ![](https://box.kancloud.cn/2016-08-18_57b58ee48c157.png) 从现在起,只要本地作了提交,就可以通过如下命令: `git push origin master` 把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。 2、如何从远程库克隆? 上面我们了解了先有本地库,后有远程库时候,如何关联远程库。 现在我们想,假如远程库有新的内容了,我想克隆到本地来 如何克隆呢? 首先,登录github,创建一个新的仓库,名字叫testgit2.如下: ![](https://box.kancloud.cn/2016-08-18_57b58ee4ad602.png) 如下,我们看到: ![](https://box.kancloud.cn/2016-08-18_57b58ee4cf900.png) 现在,远程库已经准备好了,下一步是使用命令`git clone`克隆一个本地库了。如下所示: ![](https://box.kancloud.cn/2016-08-18_57b58ee4ef146.png) 接着在我本地目录下 生成testgit2目录了,如下所示: ![](https://box.kancloud.cn/2016-08-18_57b58ee51683b.png)