当前位置: 首页 > news >正文

FPGA工程Git常用操作手册

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_debug

3.2 查看所有分支

gitbranch
  • *标记的为当前所在分支

3.3 切换分支

# 切回稳定主分支gitcheckout master# 切回功能调试分支gitcheckout feat_debug

3.4 功能验证通过:合并到主分支

# 1. 先切回主分支gitcheckout master# 2. 将调试好的功能分支合并进来gitmerge feat_debug# 3. 同步推送到远端备份gitpush

3.5 功能验证失败:废弃调试分支

# 1. 切回主分支,代码自动恢复为稳定版本gitcheckout master# 2. 可选:删除废弃的调试分支gitbranch-Dfeat_debug

四、代码回退与复原方法

4.1 仅修改了文件,未执行 git add(工作区回退)

改完发现逻辑错误,直接恢复成上一次提交的原样:

gitrestore 文件名# 示例:git restore top.sv

4.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版本哈希值

五、常用查询命令

  1. 查看提交历史(精简显示)

    gitlog--oneline
  2. 查看当前分支

    gitbranch
  3. 查看远端仓库地址

    gitremote-v
  4. 一键跳转到仓库根目录

    cd$(gitrev-parse --show-toplevel)

六、注意事项与避坑指南

  1. 子目录执行:所有 git 命令在工程任意子目录都可执行,Git 会自动向上查找.git目录,作用范围为整个仓库,仅文件路径显示为相对路径。
  2. 通配符使用:不加引号的*.sv仅匹配当前目录;加单引号的'*.sv'由 Git 解析,递归匹配所有子目录。
  3. 临时文件.old后缀、temp_开头的调试文件建议不要提交,保持仓库仅存放有效源码。
  4. 仿真产物:建议在仓库根目录添加.gitignore文件,忽略.fsdb.log、编译中间目录等非源码文件,保持仓库干净。
http://www.jsqmd.com/news/1251960/

相关文章:

  • eBPF技术解析:从内核探针到全能观测平台
  • LabVIEW与Halcon结合的工业视觉语义分割实践
  • 见客户前慌慌张张做功课的你,其实可以有个提前踩点的帮手
  • 微信客服自动化:基于大语言模型的AI Agent实践
  • TUSB3410寄存器与DMA配置实战:实现高效USB转串口数据传输
  • 2026模板小程序开发平台推荐来啦!中小企业快上车!
  • 【免费生图】Qwen Image 3.0 Pro 限期免费接入指南:配额限制详解与 429 错误处理方案
  • AI生成评论识别与应对:技术社区的内容真实性挑战
  • 帝舵售后服务中心电话和网点地址实地考察报告多信源验证(2026年7月更新) - 帝舵中国官方服务中心
  • 基于ADS7851EVM-PDK的高性能ADC评估平台实战指南
  • 真力时天津2026年7月最新售后网点地址与全国统一服务热线公告 - 亨得利钟表维修中心
  • 吃透评审3句致命评语,再也不怕本子被刷
  • Redenta:浏览器端PDF文档真正文本删除技术详解
  • 2026年7月最新青岛城阳区流亭街道亨得利钟表服务中心电话公示 - 亨得利官方博客
  • 数据中心备用发电机转主供电源的挑战与解决方案
  • 2026威远系统窗推荐榜:内江米典安装团队覆盖威远全域 - 家居装修资讯
  • TUSB926x固件烧录实战:从SPI Flash到USB桥接的完整指南
  • 2026年7月最新长春二道区吉林街道亨得利名表服务中心电话公示 - 亨得利官方博客
  • TSSOP封装PCB设计实战:从数据手册到可靠焊接的全流程解析
  • 智能问数借助本体语义解决 Text2SQL 的语义歧义 —— 字段同名、口语条件、隐式连接怎么破
  • 卷积神经网络(CNN)核心原理与实践指南
  • 2026年7月最新积家上海青浦宝龙广场维修保养服务电话 - 积家官方售后服务中心
  • 2026年7月重磅核驗!蕭邦香港售後網點地址與電話熱線 - 萧邦中国官方服务中心
  • Windows系统错误0x80004005诊断与修复全攻略
  • 2026内江阳台改造门窗推荐榜:5家门店实测对比与选购指南 - 家居装修资讯
  • LLM协作能力突破:从被动响应到主动协作的范式转变
  • 代码审查国产模型实测:误报率比 Claude 高 18% 但漏报更少,工程选型怎么权衡
  • 多模态大模型在量化交易中的创新应用与实践
  • 2026年7月最新欧米茄扬州江都吾悦广场维修保养服务电话 - 欧米茄官方服务中心
  • 封面设计模板,2026年视频封面工作流,5款实测解析