4. Git入门与安装配置
在PLC工程中引入Git,第一步不是急着敲命令,而是把工具链准备好。Git本身是一个分布式版本控制系统,它并不关心你管理的是C代码、梯形图导出的XML,还是整个TIA Portal项目目录。理解它的来历、安装方式、全局配置和SSH密钥机制,是后续把PLC开发环境真正接入版本管理的前提。
一、Git发展简史:为什么它适合工程文件管理
Git由Linus Torvalds于2005年为Linux内核开发而创建。当时Linux内核社区使用的BitKeeper停止免费授权,Torvalds需要一套更快、更分布式、能支撑上千人协作的版本控制系统。Git的设计目标非常明确:速度快、完全分布式、支持非线性分支、能够可靠地处理大量文件。
这些特性恰好契合PLC工程的特点。一个中型自动化项目往往包含数百个程序块、HMI画面、硬件组态和库文件,且多人同时修改不同设备程序的情况很常见。Git的本地完整仓库、分支隔离和提交快照机制,让工程师可以在不干扰他人的前提下独立开发、试验和回退。
核心认知:Git保存的是“提交快照”而非“文件差异”。每次提交都记录整个工程在某一时刻的状态,这使得版本回退、分支比较和问题追溯更加可靠。
二、安装方法:Windows与Linux环境
在PLC开发中,工程师多使用Windows平台,因此以Windows安装为主,同时兼顾Linux服务器或虚拟机场景。
Windows安装:访问Git官网下载安装包,安装过程中建议保持默认选项,但需注意以下几点:
- 选择默认编辑器时,建议改为Notepad++或VS Code,避免使用Vim造成不熟悉操作。
- 调整PATH环境:选择“Git from the command line and also from 3rd-party software”,便于在TIA Portal的脚本或外部工具中调用Git。
- 换行符处理选择“Checkout Windows-style, commit Unix-style line endings”,减少跨平台协作时的换行符冲突。
Linux安装:在Ubuntu/Debian上执行:
sudo apt update
sudo apt install git -y
git --version
安装完成后,务必在命令行验证版本:
git --version
# 输出示例:git version 2.43.0.windows.1
三、全局配置:让每次提交都有身份
Git要求每次提交都记录作者信息。安装后第一件事就是配置全局用户名和邮箱,这将成为所有提交的默认身份。
git config --global user.name "ZhangSan"
git config --global user.email "zhangsan@example.com"
git config --global core.autocrlf true
git config --global core.editor "code --wait"
git config --global init.defaultBranch main
配置完成后可用以下命令检查:
git config --global --list
对于PLC团队,建议统一命名规范,例如使用“工号-姓名”作为user.name,企业邮箱作为user.email,便于在提交历史中快速定位责任人。
提示:如果某个项目需要使用不同身份,可以在该项目目录下执行不带--global的配置命令,局部配置会覆盖全局配置。
四、SSH密钥:免密连接远程仓库
当Git仓库托管在GitLab、Gitee或企业内网服务器上时,推荐使用SSH协议而非HTTPS。SSH通过密钥对完成身份认证,避免每次推送都输入密码,也便于自动化脚本调用。
生成SSH密钥对的命令如下:
ssh-keygen -t ed25519 -C "zhangsan@example.com"
# 连续回车使用默认路径,或设置密码短语
# 默认生成:~/.ssh/id_ed25519 和 ~/.ssh/id_ed25519.pub
随后查看公钥内容并复制到远程仓库的SSH Keys设置中:
cat ~/.ssh/id_ed25519.pub
测试连接:
ssh -T git@gitlab.example.com
# 成功时返回欢迎信息
下图展示了从本地PLC开发环境到远程Git仓库的完整准备链路,包括安装、配置、密钥和集成准备四个阶段。
五、Git与PLC开发环境的集成准备
完成Git安装和基础配置后,还需要为PLC项目做针对性准备。PLC工程目录通常包含大量二进制文件、临时文件和编译产物,直接全部纳入Git会导致仓库膨胀、提交缓慢。因此集成准备的核心是“规划目录、设置忽略、验证工具链”。
| 准备项 | 操作内容 | 目的 |
|---|---|---|
| 项目目录规划 | 将PLC源程序、HMI画面、硬件组态分目录存放 | 便于按模块提交和比较 |
| .gitignore配置 | 忽略临时文件、备份文件、编译缓存 | 减小仓库体积,避免噪声提交 |
| 外部工具调用 | 在TIA Portal中配置外部程序调用Git Bash | 实现工程内快速提交 |
| 远程仓库创建 | 在GitLab/Gitee创建空仓库并获取SSH地址 | 为首次推送做准备 |
| 连接验证 | 执行git ls-remote测试远程访问 | 确认密钥和权限正确 |
一个典型的PLC项目.gitignore示例:
# 忽略TIA Portal临时文件
*.tmp
*.bak
*.~*
# 忽略编译缓存
/Project/Compiled/
# 忽略本地备份
/Backup/
# 忽略日志
*.log
六、常见误区与复盘
误区一:安装完Git就直接把整个PLC项目拖进仓库。PLC项目常包含大量自动生成的临时文件和二进制缓存,应先规划目录并配置.gitignore,否则首次提交可能达到数百MB,后续操作明显变慢。
误区二:全局配置随意填写。如果user.name和user.email不统一,团队提交历史会混乱,无法快速定位责任人。建议团队制定统一规范并写入项目文档。
误区三:SSH密钥生成后忘记上传公钥。只生成密钥对而不把公钥添加到远程仓库,连接测试会失败。务必确认公钥内容完整复制,且没有多余空格或换行。
复盘来看,Git入门与安装配置虽然属于基础操作,但它决定了后续版本管理是否顺畅。安装、全局配置、SSH密钥和集成准备四步缺一不可。建议在正式管理PLC项目之前,先用一个小型测试工程完整走一遍“初始化—提交—推送—拉取”流程,确认工具链无误后再迁移正式项目。
实践建议:完成本节配置后,执行git config --global --list和ssh -T git@你的仓库地址两条命令,将输出结果截图存档,作为团队环境标准化检查的依据。