Git的使用教程(六)远程仓库
扫描二维码
随时随地手机看文章
之前的操作我们只是把Git当做了一个仓库,做本地的一个版本管理,这对Git来说简直大材小用。Git作为分布式版本控制系统,分布才是其特色,如何分布呢?肯定要有一台机器充当原始的版本库,其他的机器“克隆”这个原始版本库,其实每台机器上的版本都一样,没有主次之分,之所以有原始版本库,是为了方便多人协作时候有一个基准,让各机器上的版本保持一致。一般情况下,原始的版本库不会跟我们工作的电脑在一起,它对于我们来说是远程的,所以我们可以称之为远程仓库。
既然是远程,肯定还需要一台机器充当服务器(原始版本库),而且这台机器需要保证24小时开机,这样才能保证其他用户可以随时克隆原始版本,推送提交到该服务器,拉取别人的提交。我们目前只是为了学习Git,特意找个服务器划不来,好在大Git地位超然,很多网站纷纷提供Git仓库托管服务,像是国内外都著名的github.com,国内著名的git.oschina.net。虽然两者都能够提供托管服务,但是github免费建立的只有公仓(对所有用户都可见),私仓(仅对自己可见)是要付费的,而oschina的公私仓都不需要付费,而且是国货,理应支持,因此小编就选择了oschina建立远程仓库。
关于在oschina申请账号这里就不再复述了,假定你已经拥有了账号并登录,那么我们就可以建立一个远程仓库了。在oschina上创建一个远程仓库很简单,我们点击新建项目,我们必须要填写的只有项目名,其他的可以根据你的需要进行选择,有一点需要提示的是,如果你已经有git项目想要直接推送到远程仓库,不要让远程仓库初始化,也就是不要勾选“使用Readme文件初始化这个项目”,如果你不想让别人看见你这个项目,勾选“私有项目”。
我们成功了建立了一个空的远程仓库,里面什么都没有,于是乎给了我们友情提示,告诉我们应该怎么做。
虽然他们真的很用心,但是并没有面面俱到,没关系,就由小编来补充他们的一些不足吧。不同的两台电脑之间需要进行数据传输,肯定需要桥梁,oschina为我们提供了两种选择,一种是HTTPS,一种是SSH。如果使用HTTPS,倒是不用做什么特别的事情,上述教程足以让你把本地项目成功推送到远程仓库,但是每次推送都需要输入账号和密码(oschina的账号密码),十分麻烦,因此我们可以选择另一种方式,SSH。
使用SSH就需要创建SSH Keys,很多人不知道如何创建,没关系,oschina想到了这点,特意给除了教程。
Linux的跟着教程走就行,下面我们来看下windows的。我们使用Git Bash终端,然后同样输入
[plain] view plain copyssh-keygen -t rsa -C "zhangsan@gmial.com"
然后一路回车即可。在"C:Documents and SettingsAdministrator.ssh"中就有我们需要的文件id_rsa.pub。 然后打开oschina添加SSH公钥的地方,点击这里,前提是你已经登陆了。然后输入个标题,把刚才生成的id_rsa.pub中的内容拷贝一份到公钥处,然后点击确定即可,这样准备工作就已经完成了。
接着我们就可以通过SSH沟通本地仓和远程仓了。 添加远程仓库[plain] view plain copygit remote add osc-git git@git.oschina.net:XXXXXXX/git.git 其中git remote是告诉Git要执行远程仓库相关命令,add是添加,osc-git是远程仓库名(很多教程使用origin作为远程仓库名,非必须,可以根据情况进行修改),为简化书写远程仓库地址而存在,以后进行远程相关操作的时候只需要使用远程仓库名即可,git@……则是我们远程仓库实际的SSH地址,就这样,我们便成功的添加了一个远程仓库。
查看远程仓库[plain] view plain copygit remote //只输出远程仓库名称 git remote -v //输出远程仓库名和地址
删除远程仓库[plain] view plain copygit remote rm osc-git
推送到远程仓库 git push命令用于将本地分支的更新推送到远程分支。[plain] view plain copygit push