Git - Git教程 09:远程仓库

前言

1 - 到目前为止,已经掌握了如何在 Git 仓库里对一个文件进行增删改操作,你再也不用担心文件备份或者丢失的问题。可是有用过集中式版本控制系统 SVN 的童鞋会站出来说,这些功能在 SVN 里早就有了,没看出 Git 有什么特别的地方。没错!如果只是在一个仓库里管理文件历史,Git 和 SVN 真没啥区别。为了保证你现在所学的 Git 物超所值,开始介绍 Git 的杀手级功能之一:远程仓库

2 - Git 是分布式版本控制系统,同一个 Git 仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器拥有一个原始版本库,此后,别的机器可以克隆这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。这时,你肯定会想:至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩

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

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

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

使用前的配置

1 - 由于你的本地 Git 仓库 和 GitHub 仓库之间的传输是通过 SSH 加密的,所以需要一些设置

① 创建 SSH Key:在用户主目录下,看看有没有 .ssh 目录。如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件。如果已经有了,则可直接跳到下一步。如果没有则需要创建 SSH Key

复制代码
$ ssh-keygen -t rsa -C "xxxxx@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/bs.ep/.ssh/id_rsa): 
Created directory '/Users/bs.ep/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/bs.ep/.ssh/id_rsa.
Your public key has been saved in /Users/bs.ep/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:KFSym6IO1/EA6WZvOYVZlCd2CQki/VJOe0 xxxxx@163.com
The key's randomart image is:
+---[RSA 3072]----+
|BX*+B+o          |
|@++B+O.          |
|=+= *o           |
|oo + oE.         |
|      |
|+o o =           |
|+ . . .          |
|o.               |
| .               |
+----[SHA256]-----+
复制代码

由于这个 Key 也不是用于军事目的,所以也无需设置密码,根据需要可修改你想要的路径,一路回车即可

② 如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsa_PerLearn 和 id_rsa_PerLearn.pub 两个文件,这两个就是 SSH Key 的秘钥对

    id_rsa_PerLearn 是私钥,不能泄露;id_rsa_PerLearn.pub 是公钥,可以放心地告诉任何人

③ 在拥有 GitHub 帐号下,在 SSH Keys 页面中点击 New SSH Key ,填上任意 Title;在 Key 文本框里粘贴 id_rsa_PerLearn.pub 文件的内容后;最后 Add SSH Key

 

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

当然 GitHub 允许你添加多个 Key:假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的 Key 都添加到 GitHub ,就可以在每台电脑上往 GitHub 推送了!注:在 GitHub 上免费托管的 Git 仓库,任何人都可以看到喔,但只有你自己才能改。所以,不要把敏感信息放进去

④ 如果你不想让别人看到 Git 库,有两个办法

    一个是交点保护费,让 GitHub 把公开的仓库变成私有的,这样别人就看不见了

    另一个办法是自己动手,搭一个 Git 服务器。因为是你自己的 Git 服务器,所以别人也是看不见的。这个方法后面会讲到的,相当简单,公司内部开发必备

posted on   低头捡石頭  阅读(23)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示