到目前为止,我们已经掌握了在Git仓库中进行文件历史回溯的技巧,这让你无需再担心文件的备份或丢失问题。然而,有些曾经使用过集中式版本控制系统如SVN的朋友可能会认为,这些功能在SVN中也同样存在,从而质疑Git的独特价值。
确实,如果仅仅是在一个仓库内管理文件历史,Git和SVN之间的差别并不明显。但为了让你的Git学习之旅物超所值,并且展示Git相对于其他版本控制系统的优势,我们将深入探讨Git的一个核心功能——远程仓库。这仅仅是Git众多强大功能之一,后续还将介绍更多。
Git作为分布式版本控制系统,其核心理念是将同一个仓库分布到不同的机器上。这一分布过程始于一个原始版本库,随后其他机器可以“克隆”这个原始仓库。值得注意的是,每台机器上的仓库都是完整的,并没有主从之分。
你可能会好奇,远程仓库是否至少需要两台机器才能实现?如果你只有一台电脑,是否还能利用远程仓库的功能呢?答案是肯定的。尽管在单一设备上克隆多个仓库在技术上可行,但这样做并没有实际意义,因为一旦硬盘出现故障,所有仓库都会受到影响。因此,我们不会推荐在一台电脑上进行多个仓库的克隆操作。
在实际应用中,通常会选择一台电脑作为服务器,保持24小时在线状态。其他开发者则从这台“服务器”仓库克隆一份到自己的电脑上,各自进行提交操作,并将这些提交推送到服务器仓库。同时,他们也会从服务器仓库中拉取其他开发者的提交,以保持代码的同步。
虽然自己搭建Git服务器也是一种选择,但对于初学者来说,这可能会过于复杂。幸运的是,世界上有许多提供Git仓库托管服务的平台,其中最著名的就是GitHub。通过注册一个GitHub账号,你就可以免费获得Git远程仓库,从而轻松实现代码的托管和协作。
在开始之前,请确保你已经注册了GitHub账号,并且安装了Git。SSH连接的设置是为了确保你的本地Git仓库与GitHub仓库之间的通信是加密和安全的。
步骤一:生成SSH密钥对
- 打开终端(Windows用户请打开Git Bash)。
- 输入命令
$ ssh-keygen -t rsa -C "youremail@example.com"
来生成SSH密钥对。请将youremail@example.com
替换为你的实际邮箱地址。 - 按下回车键,按照提示完成密钥对的生成。期间,你可能会被要求输入一个密码短语(passphrase),这是为了给你的私钥增加一层保护。如果你不想设置密码短语,可以直接按回车键跳过。
步骤二:添加SSH公钥到GitHub
- 在你的用户主目录下,找到
.ssh
文件夹。在该文件夹中,你应该可以看到id_rsa
(私钥)和id_rsa.pub
(公钥)两个文件。 - 使用文本编辑器打开
id_rsa.pub
文件,复制里面的内容。 - 登录你的GitHub账号,点击右上角的头像,选择“Settings”(设置)。
- 在左侧导航栏中,选择“SSH and GPG keys”。
- 点击“New SSH key”按钮,进入添加SSH密钥的页面。
- 在“Title”字段中,输入一个描述性的名称(例如,“个人电脑”或“工作电脑”)。
- 在“Key”字段中,粘贴你之前从
id_rsa.pub
文件中复制的内容。 - 点击“Add SSH key”按钮,完成SSH公钥的添加。
步骤三:测试SSH连接
在终端中,输入命令 $ ssh -T git@github.com
来测试SSH连接。如果连接成功,你应该会看到一条消息,显示你已经成功连接到了GitHub。
完成以上步骤后,你就可以使用SSH协议来推送(push)和拉取(pull)代码到你的GitHub仓库了。SSH连接不仅更安全,而且在某些情况下,速度也可能更快。