2、Git环境搭建:Git安装、SSH密钥配置、Git全局配置、GitLab/GitHub仓库创建

好,咱们正式开始动手。这一章讲的是Git环境搭建,说白了就是给你的电脑装上Git,配好钥匙,然后连上远程仓库。别小看这一步,我见过太多团队因为环境没配好,第一天就卡在「push不上去」这种问题上。

我个人习惯是,新入职一家公司,第一件事就是把这套环境捋顺。磨刀不误砍柴工,真的。

2.1 Git安装:选对版本,少踩坑

Git的安装其实没什么技术含量,但有几个细节值得注意。

Windows用户:去官网下载安装包,一路Next就行。但我建议你注意这一步——安装时选择「Use Git from the Windows Command Prompt」。这样你可以在CMD或PowerShell里直接敲git命令,不用切到Git Bash。

macOS用户:最简单的是装Xcode Command Line Tools,它会自带Git。或者用Homebrew:

brew install git

Linux用户

sudo apt-get install git   # Ubuntu/Debian
sudo yum install git        # CentOS/RHEL
我的小建议:别用太老的版本。Git 2.20以下有些功能缺失,比如更安全的SSH协议支持。我一般装最新的稳定版。

2.2 SSH密钥配置:一次配好,到处用

为什么要配SSH?说白了就是不用每次push都输密码。你想想看,一天push几十次,每次都输密码,烦不烦?

配置步骤很简单,三步走:

  1. 生成密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"

这里我推荐用ed25519算法,比传统的RSA更安全,而且密钥更短。如果你用的是很老的系统,可能不支持ed25519,那就用RSA:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

它会问你保存路径和密码。我一般直接回车用默认路径,密码留空——当然,如果你对安全性要求高,可以设一个。

  1. 把公钥添加到GitLab/GitHub

复制公钥内容:

cat ~/.ssh/id_ed25519.pub

然后去GitLab或GitHub的Settings → SSH Keys,粘贴进去,保存。

  1. 测试连接
ssh -T git@github.com
# 或者
ssh -T git@gitlab.com

如果看到「Hi xxx! You've successfully authenticated」,那就成了。

我曾经踩过的坑:有一次我配完SSH,死活连不上。查了半天,发现是公司网络屏蔽了22端口。解决办法是改用HTTPS协议,或者让IT开白名单。嗯,这个坑你提前知道就好。

2.3 Git全局配置:一次设置,终身受益

装好Git之后,第一件事就是配全局信息。这步不做,你commit的时候会看到「unknown」——这在团队里很尴尬。

git config --global user.name "你的名字"
git config --global user.email "your_email@example.com"

还有几个我常用的配置:

配置项 命令 说明
默认分支名 git config --global init.defaultBranch main 现在主流都用main,别用master了
别名简化 git config --global alias.co checkout 我习惯用git co代替git checkout
颜色高亮 git config --global color.ui auto 让输出更好看,尤其是diff
换行符处理 git config --global core.autocrlf input macOS/Linux用input,Windows用true

重点提醒:邮箱一定要和你GitLab/GitHub注册的邮箱一致。否则你的commit不会关联到你的账号,头像也显示不出来。我见过有人用公司邮箱注册GitHub,结果commit全成了「无名氏」。

2.4 GitLab/GitHub仓库创建:从零到有

仓库创建分两种情况:一种是你在网页上新建,然后克隆到本地;另一种是本地已有项目,推送到远程。

情况一:网页新建 → 克隆到本地

在GitLab或GitHub上点「New repository」,填好名字和描述,选公开或私有。创建完后,复制SSH地址,然后:

git clone git@github.com:你的用户名/仓库名.git
cd 仓库名

这就好了。你可以在本地随便改,然后push。

情况二:本地已有项目 → 推送到远程

这个在验证团队里更常见。比如你写了一个testbench,想放到GitLab上:

cd 你的项目目录
git init
git add .
git commit -m "初始提交:验证环境框架"
git remote add origin git@gitlab.com:你的用户名/仓库名.git
git push -u origin main

注意最后一步的-u参数,它会把本地main分支和远程main分支关联起来。之后你直接敲git push就行了。

我的习惯:在创建仓库时,我会顺便建好.gitignore文件。验证项目里,像simvvcs.log*.vcd这些生成文件,都不应该进版本库。GitHub上有现成的Verilog/VCS模板,直接拿来用就行。

2.5 验证团队的特殊配置

做芯片验证的,有些东西和普通软件开发不一样。我额外提几点:

  • 大文件处理:验证环境里经常有几十MB的波形文件或库文件。Git本身不适合存大文件,建议用Git LFS(Large File Storage)。安装后,用git lfs track "*.vcd"来追踪波形文件。
  • 权限管理:GitLab上可以设置不同角色的权限。我建议验证工程师给Developer权限,主分支加保护,不允许直接push,必须走Merge Request。
  • 分支命名规范:团队里最好统一。比如feature/xxxbugfix/xxxrelease/v1.0。别起什么my_testtemp这种名字,回头自己都看不懂。
再啰嗦一句:千万别把密码、密钥、IP地址这些敏感信息提交到Git仓库。我见过有人把公司的EDA license文件传上GitHub,结果被全网爬虫抓到了……嗯,后果你懂的。

好了,环境搭好了。下一章我们讲Git的基本操作——怎么提交、怎么分支、怎么合并。这些才是日常用的最多的。