![3a636e9bff61d42e061a20115d2ff9c1.png](https://i-blog.csdnimg.cn/blog_migrate/543ca9722e698d1b6e837e966b0c952e.jpeg)
现在我们本地有一个Git仓库,想在远程GitHub上创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以当作备份,又可以让其他人通过该仓库进行协作,一举多得。
我们登陆GitHub账号
![543598ffd2e9018db961d090bf341367.png](https://i-blog.csdnimg.cn/blog_migrate/7e3c39047c1557bcc9a72c7bbfdc079c.jpeg)
在Repository name填入learngit
,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
![f48b242d2e9ecec7cae2042c6d61b3e9.png](https://i-blog.csdnimg.cn/blog_migrate/679abb2cf1d4b50a88eb02ec7d6aa98f.jpeg)
现在,我们根据GitHub的提示,在本地的learngit
仓库下运行命令:
git remote add origin git@github.com:kuiningchen2017/learngit.git
添加后,远程库的名字就是origin
,这是Git默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。
![5f69e51724b8a8ba7466326f7cfb8a3b.png](https://i-blog.csdnimg.cn/blog_migrate/b9f99e60f532e103c95b80d7f1e88706.jpeg)
把本地库的内容推送到远程,用git push命令,实际上就是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了 -u 参数,Git不但会把本地的master分支内容推送到远程新的master分支上,还会把本地的master分支和远程的master分支关联起来,在以后的推送过程中简化命令。
![7ac19bd951bab5bf20d39dc89215e4a4.png](https://i-blog.csdnimg.cn/blog_migrate/c143920a5cd51500bded9aecb7e89073.jpeg)
推送成功后,在GitHub页面中可以看到远程库的内容已经和本地一模一样。
so,此时只要本地做了修改,就可以通过命令
$ git push origin master
把本地master
分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
像我添加了git push origin master这句话在readme.txt文件里。
![d1afc22bad806fac7fe17ac012154134.png](https://i-blog.csdnimg.cn/blog_migrate/876babcc2d3ecf7e9bf3e21f652ced59.jpeg)
接着那两步,1:git add 2:git commit
![4c1b03b971dc19816368cc83b0c546de.png](https://i-blog.csdnimg.cn/blog_migrate/f99d233b397621e29537359444638858.jpeg)
最后去到GitHub网站上查看到自己刚刚写下的东西。
![abbe91d9f89281ea952eda4198f4f0f8.png](https://i-blog.csdnimg.cn/blog_migrate/23fe7d4e1c40d41b1959aaeb59d0cb7f.jpeg)
小结:
要关联一个远程库的话,就使用命令
git remote add origin git@github.com:kuiningchen2017/learngit.git;
在GitHub网站新建仓库的时候可以复制粘贴。
关联后,使用 git push -u origin master
第一次推送master分支的所有内容。
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!