1. 远程操作
1.1 理解分布式版本控制系统
我们之前讨论的工作区、暂存区、版本库等概念,都是在本地计算机上进行的。Git 本质上是分布式版本控制系统。这意味着每个人的电脑上都有一个完整的版本库副本。工作时无需联网,因为数据就在本地。
多人协作时,如果你们都在修改同一个文件,只需将各自的修改推送给对方即可同步。这种架构安全性更高,即使某台电脑损坏,从其他成员处复制一份即可恢复。虽然理论上不需要中央服务器也能工作,但实际场景中通常会有一台充当'中央服务器'的机器,用于方便地交换修改。有了它,即便本地硬盘故障导致数据丢失,也能快速找回。
1.2 远程仓库
同一个 Git 仓库可以分布到不同机器上。最初只有一台机器有原始版本库,其他机器通过'克隆'获取副本。每台机器的版本库地位平等,没有主次之分。
现实中,通常找一台 24 小时开机的电脑充当服务器角色,其他人从中克隆一份到本地,各自提交后推送到服务器,也从服务器拉取他人的提交。搭建 Git 服务器对初学者来说略显复杂,目前业界常用 GitHub 或 Gitee(码云)等托管服务来提供远程仓库支持。
1.3 新建远程仓库
在托管平台上创建新项目仓库,填写基本信息后即可成功。创建后可设置仓库为开源或私有。新仓库默认只有一个 master 分支,本地已有的分支也会随之被管理起来。
1.4 克隆远程仓库—HTTPS/SSH 协议
克隆远端仓库到本地使用 git clone 命令,后跟仓库链接。链接可在托管平台获取。
Git 最常用的两种传输协议是 SSH 和 HTTPS。SSH 基于公钥加密,安全性高,需将公钥上传至服务器;HTTPS 则无需额外配置,直接克隆即可。
使用 SSH 方式克隆时,若未添加公钥,服务器会拒绝连接。此时需要生成 SSH Key:
ssh-keygen -t rsa -C "[email protected]"
生成的私钥 id_rsa 切勿泄露,公钥 id_rsa.pub 可添加到托管平台的 SSH 设置中。认证通过后即可顺利克隆。
克隆完成后,Git 会自动将本地的 master 分支与远程的 master 分支对应,远程仓库默认名称为 origin。可通过 git remote 或 git remote -v 查看详细信息。
1.5 向远程仓库推送
本地克隆成功后,新增文件并提交到本地仓库。注意,全局配置的 name 和 email 需与托管平台账号一致,否则可能报错。
将本地内容推送到远程使用 git push 命令:
git push origin master
这将把本地 master 分支上传到远程 origin 主机的 master 分支。使用 SSH 协议推送通常无需每次输入密码,而 HTTPS 则需要验证身份。
1.6 拉取远程仓库
当远程仓库领先于本地时(例如有人在网页端修改了文件),需要使用 git pull 命令获取最新代码并合并到本地:
git pull origin master
执行后,本地仓库即保持与远程一致。
1.7 忽略特殊文件
某些文件(如数据库配置文件)不应提交到远程。在项目根目录创建 .gitignore 文件,列出要忽略的文件名或模式即可。
例如忽略所有 .so 和 .ini 结尾的文件:
*.so
*.ini
验证是否生效可使用 git status,若显示 则表示忽略成功。若需强制添加被忽略的文件,可使用 。若规则有误,可用 检查具体匹配项。对于例外情况,可在 中添加 来排除特定文件的忽略规则。


