一、远程仓库(Github)
注册Github以及使用ssh key连接远程仓库Github,可参见Git学习笔记(一)中的Git安装与环境配置。
二、添加远程仓库
(1)Github中新建一个仓库
创建具体方法可参考Git学习笔记(一)
(2)命令git remote add origin SSH地址
作用:关联远程库与本地版本库,之后就可以把本地仓库的内容推送到GitHub仓库。
其中origin是远程库的名字,Git的默认叫法,也可以改成别的名字。
![](https://img-blog.csdnimg.cn/img_convert/c45af03d5842eaedd6410126b22499ed.png)
SSH地址是图中红色框内。
$ git remote add origin git@github.com:li**-wa**05**/learngit.git
(3)命令git push -u origin(远程库名称) master(分支名称)
作用:把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
$ git push -u origin master #将本地库的内容推送到远程
Enumerating objects: 23, done.
Counting objects: 100% (23/23), done.
Delta compression using up to 8 threads
Compressing objects: 100% (18/18), done.
Writing objects: 100% (23/23), 1.89 KiB | 176.00 KiB/s, done.
Total 23 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), done.
To github.com:li**-wa**05**/learngit.git
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
注意:由于远程库是空的,因此第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
(4)命令git push origin master(简化上一条命令)
除了首次将分支推送到空的远程库后,之后将master分支的最新修改推送至GitHub,将使用简化后的git push命令。
注意:SSH警告
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:需要授权Github权利,因为Git 使用SSH连接,而SSH连接在第一次验证GitHub服务器。这个警告只会出现一次,后面的操作就不会有任何警告了。
三、删除远程库
(1)命令 git remote -v
查看远程库信息
$ git remote -v #查看远程库信息
origin git@github.com:li**-wa**05**/learngit.git (fetch)
origin git@github.com:li**-wa**05**/learngit.git (push)
(2)命令 git remote rm origin(远程库名称)
根据名字删除,比如删除origin。
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
$ git remote rm origin #删除本地库与远程库origin的连接
(3)Github中的远程库origin
删除过程中需要确认密码。
![](https://img-blog.csdnimg.cn/img_convert/9fff8f011a02efda931ec8daf7fcb82c.png)
总结:
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步。
四、从远程库克隆
如果有多个人协作开发,那么每个人可以各自从远程克隆一份后在自己的本地库继续完成后续工作。
假设从零开始,最好的方式是先创建远程库,然后从远程库克隆。
(1)创建一个新的远程库
![](https://img-blog.csdnimg.cn/img_convert/b59dc4d1af37e93be89e0118ba36516c.png)
自定义一个版本库名称,并选择Add a README file选项,这样GitHub会自动为我们创建一个README.md文件,创建后,显示如下:
![](https://img-blog.csdnimg.cn/img_convert/39ed4667c8f05ffddc52483f34c08c93.png)
(2)命令git clone SSH地址或者https地址
作用:远程库已经准备好后,下一步是用命令git clone克隆一个本地库,将远程库的内容传递到本地库中。
![](https://img-blog.csdnimg.cn/img_convert/190b90496fcaf87a4fb5bfbe8808b534.png)
复制红色方框内的SSH地址或者HTTPS协议地址,但是HTTPS协议地址的速度且每次推送都需要口令,一般不推荐。
$ git clone git@github.com:li**-wa**05**/gitskills.git #通过SSH协议克隆远程库到本地库
Cloning into 'gitskills'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
可以通过命令cd gitskills 进入gitskills版本库,命令ls查看版本库文件。
l***@LAPTOP-MUI**9V ***W64 ~
$ cd gitskills #进入gitskills
l***@LAPTOP-MUI**9V ***64 ~/gitskills (main)
$ ls #查看版本库内文件
README.md
$ pwd #版本库路径
/c/Users/limin/gitskills