Git 原理与进阶使用:远程协作、标签管理与企业级模型
1. 远程操作
1.1 理解分布式版本控制系统
我们日常接触的工作区、暂存区和版本库通常都在本地,即你的计算机上。Git 是分布式版本控制系统,这意味着每个人的电脑上都有一个完整的版本库。工作时无需联网,因为数据就在本地。
多人协作时,如果各自修改了同一文件,只需将各自的修改推送给对方即可同步。分布式系统安全性更高,即使某台电脑损坏,从他人处复制一份即可恢复。实际使用中,通常会有一台充当'中央服务器'的机器用于方便交换修改,但它并非必需,只是提高了效率。
1.2 远程仓库
同一个 Git 仓库可以分布到不同机器上。早期只有一台机器有原始版本库,其他机器通过'克隆'获取副本。每台机器的版本库地位平等,没有主次之分。
虽然一台电脑可以克隆多个仓库,但现实中通常找一台电脑充当服务器角色,24 小时开机。大家从服务器克隆一份到本地,提交后推送到服务器,也从服务器拉取他人的提交。搭建 Git 服务器较为繁琐,目前常用托管服务如 GitHub 或 Gitee(码云)。
1.3 新建远程仓库
在托管平台上创建项目仓库,填写基本信息并设置开源或私有属性。创建成功后,默认只有一个 master 分支,本地的分支也会随之被管理起来。
1.4 克隆远程仓库—HTTPS/SSH 协议
使用 git clone 命令下载远端仓库到本地,链接可从仓库页面获取。
- SSH 协议:使用公钥加密和登录机制,安全性高。需将公钥上传至服务器。
- HTTPS 协议:直接克隆,无需配置密钥,但每次推送可能需要输入密码。
若使用 SSH 克隆失败,需检查 SSH Key。在用户主目录下查看 .ssh 目录,若无 id_rsa 和 id_rsa.pub,需生成新的密钥对。私钥不可泄露,公钥可上传至远程仓库设置中。添加公钥后,再次执行 clone 即可成功。
克隆后,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 文件,填入要忽略的文件名或模式,Git 会自动忽略这些文件。
例如,忽略所有 .so 和 .ini 结尾的文件:
*.so
*.ini
验证可使用 git status,显示 working tree clean 即生效。若需强制添加被忽略的文件,可使用 git add -f。若规则有误,可用 git check-ignore 检查具体哪行规则匹配了该文件。对于 .gitignore 自身,可通过添加例外规则 !.gitignore 来保留。


