实际情况往往是这样,找一台电脑充当服务器的角色,每天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"

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

第2步:登陆GitHub,用户下拉,打开“ settings”,“SSH And GPG Keys ”页面: 点击 Add SSH key,在key文本框 粘贴 刚才id_rsa.pub里面的内容,点击add-key

  为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

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

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

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

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

最新文章

  1. apache2.4 绿色版环境配置。
  2. MySQL导入sql脚本 导出数据库
  3. jQuery DOM 与 原生DOM 互相转换的方法
  4. android Notification 的使用
  5. Prepared Java infrastructure for distributed scenarios
  6. AsyncTask的简单使用
  7. [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)
  8. JS中的forEach、$.each、map方法
  9. c#左右socket连接超时控制方案
  10. const常量类型
  11. Bootstrap学习笔记(一)
  12. Windows--查看使用某端口的进程
  13. html 之表单,div标签等。。。。。。。
  14. VisualStudio2013下安装Python Flask/jade
  15. delphi image控件上画矩形的问题
  16. IOS开发常见第三方总结
  17. fusionjs 学习二 核心概念
  18. 用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr)
  19. 【web框架】Django
  20. Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded.

热门文章

  1. 【转】Java Cipher类 DES算法(加密与解密)
  2. 常用css和js组件
  3. ORA-02273: this unique/primary key is referenced by some foreign keys
  4. Servlet详解之两个init方法的作用
  5. HDU 4741 Save Labman No.004 (几何)
  6. matlab启动
  7. OO第三次电梯作业优化
  8. java基础—基础语法1
  9. Bootstrap历练实例:导航内的下拉菜单
  10. LiteIDE 错误: 进程无法启动