
FPGA工程Git常用操作手册一、基础概念1.1 核心区域划分工作区你电脑里能看到的工程文件夹直接修改代码的地方暂存区git add之后文件存入的临时区域用于筛选本次要提交的内容本地仓库git commit之后代码存入的本地版本库所有历史版本都保存在这里远端仓库Gitee/GitHub 上的云端仓库用于备份和多人协作1.2 关键名词解释HEAD指针永远指向你当前所在分支的最新一次本地提交可理解为「当前版本定位标记」master/main主分支用于存放验证通过的稳定版本功能分支基于主分支创建的临时分支用于新增功能调试不影响主分支稳定代码二、首次提交源码流程从0到远端备份适用于仓库初始化后第一次批量提交源码文件。2.1 检查仓库状态在工程任意子目录均可执行查看当前文件状态gitstatus红色文件未跟踪/未暂存的修改绿色文件已进入暂存区等待提交2.2 添加指定文件到暂存区仅添加当前目录下所有 .sv 源码文件gitadd*.sv递归添加工程所有子目录下的 .sv 文件gitadd*.sv注意单引号不可省略作用是让 Git 全局匹配所有层级子目录2.3 撤回暂存区的文件如果误添加了临时文件将其撤出暂存区不删除本地文件gitreset HEAD 文件名2.4 提交到本地仓库填写清晰的提交说明完成本地版本存档gitcommit-m提交说明比如首次提交核心SV源码2.5 推送到远端仓库首次推送第一次推送主分支需要绑定远端跟踪关系gitpush-uorigin master绑定成功后后续推送直接执行即可gitpush三、功能调试分支工作流推荐新增功能、修改逻辑调试时使用完全不影响主分支稳定代码改坏可一键复原。3.1 新建功能分支并自动切换基于当前主分支的稳定版本创建调试分支gitcheckout-b分支名# 示例git checkout -b feat_debug3.2 查看所有分支gitbranch带*标记的为当前所在分支3.3 切换分支# 切回稳定主分支gitcheckout master# 切回功能调试分支gitcheckout feat_debug3.4 功能验证通过合并到主分支# 1. 先切回主分支gitcheckout master# 2. 将调试好的功能分支合并进来gitmerge feat_debug# 3. 同步推送到远端备份gitpush3.5 功能验证失败废弃调试分支# 1. 切回主分支代码自动恢复为稳定版本gitcheckout master# 2. 可选删除废弃的调试分支gitbranch-Dfeat_debug四、代码回退与复原方法4.1 仅修改了文件未执行 git add工作区回退改完发现逻辑错误直接恢复成上一次提交的原样gitrestore 文件名# 示例git restore top.sv4.2 已执行 git add未 commit暂存区回退# 1. 先从暂存区撤回gitreset HEAD 文件名# 2. 再恢复文件内容gitrestore 文件名4.3 已执行 git commit未 push本地提交回退回退到上一个稳定版本丢弃本次错误提交gitreset--hardHEAD^HEAD^代表上一个提交版本HEAD~3代表往前第3个版本也可通过git log --oneline查看提交哈希指定回退到对应版本gitreset--hard版本哈希值五、常用查询命令查看提交历史精简显示gitlog--oneline查看当前分支gitbranch查看远端仓库地址gitremote-v一键跳转到仓库根目录cd$(gitrev-parse --show-toplevel)六、注意事项与避坑指南子目录执行所有 git 命令在工程任意子目录都可执行Git 会自动向上查找.git目录作用范围为整个仓库仅文件路径显示为相对路径。通配符使用不加引号的*.sv仅匹配当前目录加单引号的*.sv由 Git 解析递归匹配所有子目录。临时文件.old后缀、temp_开头的调试文件建议不要提交保持仓库仅存放有效源码。仿真产物建议在仓库根目录添加.gitignore文件忽略.fsdb、.log、编译中间目录等非源码文件保持仓库干净。