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仓库的完整准备链路,包括安装、配置、密钥和集成准备四个阶段。

PLC开发环境接入Git的准备链路 ① 安装Git Windows / Linux 验证 git --version 选择编辑器与PATH ② 全局配置 user.name user.email core.autocrlf ③ SSH密钥 ssh-keygen -t ed25519 公钥上传远程仓库 ssh -T 测试连接 ④ 集成 准备 仓库 初始化 PLC开发环境集成准备 TIA Portal项目目录 .gitignore规则 外部工具调用Git 远程仓库 关键检查点 git --version 正常 · 全局身份已配置 · SSH免密登录成功 · 项目目录已规划

五、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@你的仓库地址两条命令,将输出结果截图存档,作为团队环境标准化检查的依据。