到目前为止,我们已经掌握了如何在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使用入门教程,篇幅短小,没那么多废话。
git使用入门及详解图文并茂
初学者使用 简单入门教程 总结的还可以 好吧首先介绍的这个文档是我自己在网上搜罗了一些资料再加上一些自己的理解,可能有些地方会有错误,希望大家能理解,发现后通知我一下,我会及时改进的,下面就进入正题。...
git快速入门以及git和idea的使用
介绍git使用,适合入门,以及常用的命令,和开发中常用的方法
一文搞定Git入门,带你玩转Git。本pdf是详细的Git入门介绍,可以迅速带领新人入门Git,走向协同与开源的code之路。
简明扼要的讲述了git开发的基本命令和流程,是入门者学习GIT的好文章
git全方位了解,从入门到精通,初学者的圣经宝典
Git教程
Repo git的入门使用、常用的命令、提交代码的过程与原理,冲突的产生原因、原理及如何避免,巧妙的使用分支
超级简单的Git入门教程,适合新手,搭配TortoiseGit使用
本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度;
分入门篇,高级篇,git索引,对使用学习git非常有帮助 也是查阅git命令的易用手册
本文档讲述了Git的概述、工作流程、软件安装、常用命令、分支操作、远程操作、IDEA使用Git、GitLab自建代码托管平台等内容,通俗易懂,简明扼要,零基础入门Git实战。声明:本文档所涉及到的图片均引用官方文档或...
git入门培训ppt,git使用培训,git发展,git分支的使用,git中的基本使用说明和以及基本命令, git入门培训ppt,git使用培训,git发展,git分支的使用,git中的基本使用说明和以及基本命令
81页ppt详细介绍如何使用Git进行版本控制,有详细的代码和图片描述,跟着ppt实战操作,整个流程下来收获巨大。
Git入门到实践 高清 有目录
首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度; 其次,本教程实用性超强,边学边练,一点也不觉得枯燥。而且,你所学的Git命令是“充分且必要”的,掌握了这些东西,...
Git入门学习资料 包括如下文档: Git.pdf git-tutor.pdf progit.zh.pdf
3本git教程,让你轻松掌握git的使用,其中廖雪峰的git的教程让你快速入门,深入学习可看其中的Pro Git