远程仓库

转载 2016年08月31日 14:34:23

到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。

可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。

没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Git的杀手级功能之一(注意是之一,也就是后面还有之二,之三……):远程仓库。

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?

其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实生活中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以我也不告诉你在一台电脑上怎么克隆多个仓库。

实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。

在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

第1步:创建SSH Key。

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub

打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
这里写图片描述
点“Add Key”,你就应该看到已经添加的Key:
这里写图片描述
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。
小结

“有了远程仓库,妈妈再也不用担心我的硬盘了。”——Git点读机

Maven 配置远程仓库

maven 配置远程仓库
  • jing_EVA
  • jing_EVA
  • 2016年11月14日 17:52
  • 2630

git添加远程仓库

在本地建立了一个项目,是从一个origin的远程仓库克隆下来的,但是这个是自己用来学习的项目,想提交到自己的github中建立的项目上去,这就要用到remote了,可以使用git remote add...
  • leedaning
  • leedaning
  • 2015年07月08日 11:55
  • 4737

git创建远程仓库

对于版本管理用了很多,最开始用的
  • u014782319
  • u014782319
  • 2014年10月31日 11:23
  • 2090

好用的maven远程仓库

最近从阿里离职   要说离开阿里最难过的事情,那就是缺少了一整套完整的研发设施   其中之一就是极速的maven仓库   自己下载简直崩溃   不过还好,阿里云有一个服务全人类的地址   废...
  • u010220902
  • u010220902
  • 2017年01月08日 17:53
  • 586

Maven——远程仓库的配置

在很多情况下,默认的中央仓库无法满足项目需求,可能项目需要的构件存在于另外一个远程仓库中,如JBoss Maven仓库。这时,可以在pom文件中配置该仓库。        jobss  ...
  • hehexiaoyou
  • hehexiaoyou
  • 2014年11月06日 14:07
  • 5847

git本地仓库关联远程仓库的两种方式

git本地仓库关联远程仓库的两种方式: 1.将远程的代码clone到本地仓库 2.将本地的代码关联到远程仓库 1.git clone现有的项目(https | SSH) SSH: 检...
  • Debug_zhang
  • Debug_zhang
  • 2016年08月15日 22:38
  • 11933

Git的使用教程(七)远程仓库

之前的操作我们只是把Git当做了一个仓库,做本地的一个版本管理,这对Git来说简直大材小用。Git作为分布式版本控制系统,分布才是其特色,如何分布呢?肯定要有一台机器充当原始的版本库,其他的机器“克隆...
  • a7442358
  • a7442358
  • 2016年03月02日 09:57
  • 4359

Maven添加远程仓库

默认情况下,Maven从Maven中央仓库下载所有依赖关系。但是,有些库丢失在中央存储库,只有在Java.net或JBoss的储存库远程仓库中能找到。 添加Java.net远程仓库的详细信息...
  • Java_gjyw
  • Java_gjyw
  • 2016年12月28日 11:18
  • 1181

国内maven远程仓库配置

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. ...
  • linbren
  • linbren
  • 2016年12月15日 10:10
  • 1320

使用SourceTree 关联远程仓库

下载安装就不累赘了。 创建好公密钥,把公钥添加到远程仓库。就可以拉去提交了。 这里主要说的是关联仓库----小记.. 分3中情况,sourceTree也有对应三个按钮。 1、项目在远程库直接克...
  • zgf1991
  • zgf1991
  • 2017年12月06日 12:23
  • 452
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:远程仓库
举报原因:
原因补充:

(最多只允许输入30个字)