Git的远程仓库

Github

Github是一个提供Git仓库托管的网站,所以只需要注册一个Github账号,就可以免费获得Git远程仓库。

本地的Git仓库与Github仓库之间的运输是通过SSH加密的。起到保护作用,比方说有人将本地的版本库关联了我的远程库,尽管关联了,但想要推送还是推送不过来,这是因为我的账户列表中不包含他的SSH key。
因此在注册完Github账号后,还需要创建SSH Key,并添加到Github上,具体流程看原教程

添加了ssh key,图标还是灰色时,使用ssh -T git@github.com命令,遇到询问 (yes/no)的时候,输入yes,就可以解决了


添加远程库

在本地创建了一个Git仓库,然后在GitHub也创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,也可以让其他人通过该仓库来协作。
具体步骤在Github新建一个默认的版本库时,官网有提示,不过官网的使用协议是https
首先在想要关联的版本库文件目录下的命令行中输入git remote add origin命令,使本地版本库与之关联。
然后再执行git push -u origin master命令,将本地库的所有内容推送到远程库上。
执行完以上步骤,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。此时要查看远程库的信息,可执行git remote命令,或者git remote -v命令显示了可以抓取和推送的origin的地址
eg:

    E:\Git>git remote add origin git@github.com:username/github_repository_name.git
    E:\Git>git push -u origin master
    E:\Git>git remote
    origin
    E:\Git>git remote -v
    origin  http://github.com/TAKEOFFMYUNDERWEAR/learngit.git (fetch)
    origin  http://github.com/TAKEOFFMYUNDERWEAR/learngit.git (push)

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令为:git push origin master


从远程库克隆

上面说道如何从本地库推送内容到远程库,接下来就是如何将远程库的内容导到本地上来了。
从远程库克隆需要用到git clone命令,在想要的文件目录下执行该命令。
eg:

E:\Git>git clone git@github.com:TAKEOFFMYUNDERWEAR/Hello,word.git

注意:命令中的url,Github支持多个协议,默认的git://使用SSH,当然使用如https等其他协议。
不过使用不同的协议要求和效果也会不一样,比如使用https,会速度慢,还有每次推送都必须输入口令,不过在某些只开放http端口的公司内部无法使用ssh协议而只能用https。


总结:

  • 要关联远程库,要使用命令git remote add origin git@github.com:username/github_repository_name.git

  • 关联之后,要把本地库的内容推送到远程库需要使用git push -u origin master

  • 执行git remotegit remote -v命令可以查看远程库的信息(抓取和推送的origin的地址)

  • 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改到远程库。这也是分布式最大的好处之一,断网也能工作,像SVN没有联网的话就会罢工。

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

  • Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

posted @ 2017-05-29 15:51  Seiei  阅读(146)  评论(0)    收藏  举报