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 服务器,所以别人也是看不见的。这个方法后面会讲到的,相当简单,公司内部开发必备
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)