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 remote或git remote -v命令可以查看远程库的信息(抓取和推送的origin的地址)此后,每次本地提交后,只要有必要,就可以使用命令
git push origin master推送最新修改到远程库。这也是分布式最大的好处之一,断网也能工作,像SVN没有联网的话就会罢工。要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

浙公网安备 33010602011771号