第2章:Git环境搭建——在Windows/Linux下安装Git,配置用户信息与SSH密钥

说实话,很多FPGA工程师对Git的第一印象就是「命令行好麻烦」。我刚开始带团队的时候,就发现一个有意思的现象:大家装Git倒是挺快,但配置这一步经常跳过。结果呢?提交记录里全是「asdf」、「test」、「111」这种毫无意义的commit message,连谁提交的都查不到。

嗯,今天我们就来把环境搭建这件事彻底搞定。你想想看,工具链都没配好,后面谈什么版本管理?

2.1 在Windows下安装Git

Windows用户其实挺幸福的。Git官方提供了图形化安装包,一路Next就行。但我建议你注意几个关键选项。

安装步骤

  1. git-scm.com 下载Windows版安装包
  2. 双击运行,选择安装路径(我习惯用默认路径)
  3. 关键选项:
    • 选择默认编辑器:建议选Notepad++或VS Code,别用Vim(除非你真的很熟)
    • 调整PATH环境变量:选「Git from the command line and also from 3rd-party software」
    • 换行符处理:选「Checkout Windows-style, commit Unix-style line endings」——这个坑我踩过,后面细说
  4. 一路Next完成安装
我的小习惯:安装完成后,右键菜单里会出现「Git Bash Here」和「Git GUI Here」。我个人更推荐用Git Bash,因为它的命令和Linux完全一致,后面切换到Linux环境时零学习成本。

2.2 在Linux下安装Git

Linux下安装就简单多了。不同发行版命令略有不同,但核心思路一样。

Ubuntu/Debian系

sudo apt update
sudo apt install git -y

CentOS/RHEL/Fedora系

sudo yum install git -y
# 或者用dnf(Fedora新版本)
sudo dnf install git -y

验证安装

git --version
# 输出类似:git version 2.34.1

我记得有一次在CentOS 7上装Git,默认源里的版本是1.8.x,太老了。后来我加了EPEL源才装到2.x版本。所以如果你发现版本太低,可以考虑添加第三方源或者源码编译。

注意:FPGA项目经常需要处理大文件(比如比特流、IP核压缩包),建议Git版本不低于2.20。老版本对大文件支持不好,容易出问题。

2.3 配置用户信息

装完Git第一件事是什么?不是急着clone仓库,而是配置你的身份信息。这就像你入职第一天要办工牌一样,没有身份标识,你在团队里就是个「透明人」。

全局配置

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

这里有个细节:用户名最好用真实姓名(拼音或英文都行),别用网名。邮箱建议用公司邮箱,这样在GitLab/GitHub上能关联到你的账号。

查看配置

git config --list
# 或者单独查看
git config user.name
git config user.email

项目级配置

有时候你同时参与多个项目,每个项目用的邮箱不同。这时候可以去掉 --global,在项目目录下单独配置:

cd /path/to/your/fpga_project
git config user.name "工作用名"
git config user.email "work@company.com"
重要:我曾经接手过一个FPGA项目,里面20多个提交记录,作者名五花八门——「admin」、「test」、「fpga_guy」... 根本分不清是谁写的。后来花了整整一天去核对代码归属。所以,配置用户信息不是小事,这是团队协作的基石。

2.4 配置SSH密钥

为什么要用SSH?说白了就是安全又方便。每次push/pull不用输密码,而且加密传输,公司服务器也放心。

生成SSH密钥对

# 在Git Bash或Linux终端中执行
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行后会问你三个问题:

  1. 保存路径:默认 ~/.ssh/id_rsa,直接回车就行
  2. 密码短语:建议设置一个,虽然每次用要输密码,但安全级别高很多
  3. 确认密码短语:再输一遍

查看公钥

cat ~/.ssh/id_rsa.pub

把输出的内容复制下来,粘贴到你的GitLab/GitHub/Gitee的SSH密钥设置页面。

测试连接

ssh -T git@github.com
# 成功会显示:Hi 用户名! You've successfully authenticated...
避坑指南:我曾经在Windows上生成SSH密钥后,发现Git Bash里能连上,但VS Code的终端里连不上。原因是VS Code默认用的PowerShell,而PowerShell不认识SSH。解决方案:在VS Code里把默认终端改成Git Bash。

2.5 知识体系总览

下面这张图帮你理清本章的核心逻辑。环境搭建不是孤立的一步,它和后续的日常操作、团队协作环环相扣。

Git环境搭建知识体系 安装Git 配置用户信息 配置SSH密钥 Windows:安装包 + 选项配置 Linux:apt/yum + 版本检查 全局配置:user.name/email 项目级配置:覆盖全局设置 生成密钥对:ssh-keygen 添加公钥到远程仓库 最终目标:能正常 clone / push / pull,无需密码

2.6 常见问题与排查

问题现象 可能原因 解决方案
git命令找不到 未添加到PATH 重新安装,勾选「添加到PATH」选项
SSH连接被拒绝 公钥未添加或格式错误 检查 ~/.ssh/id_rsa.pub 内容,重新粘贴
提交者信息显示错误 全局配置未生效 检查 ~/.gitconfig 文件,手动编辑
换行符警告 Windows/Linux换行符不一致 配置 git config --global core.autocrlf true
特别提醒:FPGA项目中经常有 .xpr.bit.dcp 这类二进制文件。如果你发现Git对这些文件处理异常,多半是换行符或编码问题。建议在项目根目录创建 .gitattributes 文件,明确指定哪些文件用二进制模式。

好了,环境搭建就到这里。配置好之后,你可以试着 git init 一个测试仓库,提交一个文件看看效果。下一章我们会深入Git的核心概念——工作区、暂存区和仓库,以及FPGA项目中那些「不该提交」的文件该怎么处理。


专注资料整理