使用git管理keil工程

2023-10-27

1、gitignore规则

使用git管理工程时,工程目录下有许多文件是不需要跟踪管理的。因此,我们一般会在工程目录下创建.gitignore文件,在其中编写忽略规则即可。


.gitignore忽略规则如下表所示:

格式 说明 示例
# 注释 #本行为注释
xxx/ 忽略所有xxx的目录 tmp/  #忽略所有tmp目录
/xxx 忽略根目录下的xxx目录

/tmp/ #忽略根目录下的tmp文件夹

/tmp  #忽略根目录下的tmp文件

!xxx 不忽略匹配到的文件或目录

!doc/tmp/ #不忽略doc下的tmp文件夹

*xxx 忽略通配任意个字符xxx的文件或目录

doc/**/*.txt #忽略doc目录下所有的.txt文件

*.upx.* #忽略名称中间含有.upx.的文件

? 忽略通配单个字符的文件或目录 tmp?.log #忽略tmp?.log文件或目录,?为任意一个字符
[xx] 根据[]内正则表达式规则进行忽略

tmp[0-9].log #忽略tmp0.log、tmp2.log等,但不忽略tmpa.log等

tmp[01].log #仅忽略tmp0.log、tmp1.log

tmp[!01].log #不忽略tmp0.log、tmp2.log

注意:

1)以上规则仅适用于未被缓存或加入版本控制的文件
2)gitignore 支持 glob 模式
3)gitignore 是从上到下一行一行匹配,后面的会覆盖前面的
若在添加.gitignore文件前已经add或commit过,则规则不会生效,此时需要清空本地缓存:

git rm -r --cached . #或者直接将.git删掉然后重新初始化git
git add .
git commit -m "update file .gitignore"


也可以直接删除.git文件夹,然后再次执行git init,然后添加、提交。

2、keil工程文件管理

Keil工程中需要监控的文件有:

  • 所有用户源文件(*.c、*.cpp、*.h、*.inc、*.s、*.txt)
  • 工程文件:Project.uvprojx(用于构建项目)
  • 工程选项文件:Project.uvoptx(保存调试器和跟踪配置信息)
  • 用于多个工程工作区的工程文件:Project.uvmpw
  • 复制到工程中的运行时环境配置文件(.\RTE文件夹下的所有文件)
  • 由软件组件创建的#include列表:RTE\RTE_Components.h文件
  • 设备配置文件,比如:RTE\Device\LPC1857\RTE_Device.h
  • 链接控制文件(Project.sct,如果手动创建的话)
  • 所有相关Pack文件(比如ARM::CMSIS)

不需要监控的文件:

  • 工程页面布局文件:Project.uvguix.username
  • 在.\Listings和.\Objects文件夹中产生的输出文件
  • 用于调试适配器的INI文件

通过了解gitignore规则和keil文件类型,个人配置的.gitignore文件内容如下:

#*.uvoptx
#OutputFiledir & Files
Listings/
Objects/
*.crf
*.d
*.o
*.build_log.htm 
*.axf
*.htm
*.lnp
*.dep
*.map
*.bin
*.hex

#Keil Layout File
*.uvguix.*

#DebugConfig
DebugConfig/

#Keil Project screen layout file
*.uvguix.*
*.uvgui.*

#JLINK file
*JLinkLog.txt
*JLinkSettings.ini

#temp files
~$*
*.TMP

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用git管理keil工程 的相关文章

  • 无法从另一台计算机访问 git 分支

    基本上我看不到另一台计算机上的分支 我跑 git branch a 在家用电脑上我得到 C learn ror sample app filling in layout gt git branch a filling in layout m
  • git filter-repo:它可以在特定分支上使用吗?

    我正在读什么git filter repo可以做 因为我想用它做一个小实验 我有这个存储库 我只想从中获取一个目录的历史记录 比如说 master 但我不想为主人工作 我想创建一个新分支 例如filter repo test然后让git f
  • 如何列出未推送的 Git 提交(本地但不在源上)

    如何查看我所做的 尚未推送到远程存储库的任何本地提交 偶尔 git status将打印出我的分支是X提交之前origin master 但不总是 这是我安装的 Git 的错误 还是我遗漏了什么 这给出了 origin master 和 HE
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • git 的精简包是什么?

    我还没有找到太多关于瘦包的信息 并且手册页的信息对此相当含糊 我知道这与连接速度慢有关 但是什么是 连接速度慢 它的优点和缺点是什么 什么时候应该使用它 什么时候不应该使用它 根据记录 手册页 index pack https www gi
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • Git子模块绝对工作树路径配置

    这是我的子模块redmine 仪表板配置文件 子模块配置文件 core repositoryformatversion 0 filemode true bare false logallrefupdates true worktree Us
  • 警告:引用名称“xxx”不明确

    我想知道为什么我收到 refname is ambigeous 的警告 这是否意味着名称以该字符串开头的分支不超过两个 但这里没有 Thanks git checkout B03799 warning refname B03799 is a
  • git tag --contains 如何工作?

    从几天前开始 我一直在尝试确定在哪个版本 由标签指定 中部署了特定修复 由提交指定 这里的一些帖子发布了这一点git tag contains是收集这些信息的方法 但是选项的文档 https git scm com docs git tag
  • 避免使用 git 和 make 重新编译

    我在 git 中有两个开发分支 并且经常需要在两者之间进行更改 然而 真正令人沮丧的是 每次我在 git 中更改分支时 整个项目都会重新构建 因为某些文件的文件系统时间戳会发生变化 Ofc makefiles 配置为将项目构建到两个不同的构
  • 如何使用 git 撤消所有空白更改

    我有一个 git 存储库 我在其中本地替换了很多文件 git status 现在显示许多修改的文件 有些是 真正修改过的 其他的只是行结尾不同 我希望那些仅通过行结尾不同的内容消失 git重置它们 但是 我似乎找不到 linux pipin
  • 如何 git checkout 提交并将子模块更新到该提交?

    我正在克隆一个带有子模块的项目并恢复到大约一年前的提交 git clone recursive branch 5 6 https codereview qt project org pyside pyside setup cd pyside
  • 将存储库从 Github 移至 Gitlab

    有没有办法将整个存储库从 Github 移动到 GitLab 对于代码本身来说 只需在 GitLab 上创建一个新的存储库并推送到它即可 Wiki 页面位于 Github 上的单独分支中 并通过 Git 机制进行管理 据我所知 GitLab
  • 詹金斯钩子不工作 - 詹金斯位桶

    您好 我正在使用 jenkins 和 bitbucket 当我向 bitbucket 存储库提交任何内容时 我想触发 jenkins 中的构建 在詹金斯 我创建了一个名为test 1 在配置部分Build Triggers我勾选的部分Tri
  • Eclipse git checkout(又名恢复)

    是否可以做相当于git checkout在 Eclipse 中使用 Egit 插件 我有一个已修改的文件 我想放弃更改并将文件恢复到源存储库中的内容 在 Subversion 中 这称为恢复 在 git 中 相当于 checkout 我在团
  • 如何修复 Centos 上的 Git Segmentation 错误

    我收到分段错误错误 无法在服务器上提取代码 Centos 7 这就是我遇到错误的方法 通过使用以下命令来验证我的服务器是否使用 bitbucket 进行身份验证 ssh T email protected cdn cgi l email p
  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi
  • 在 emacs 的文件中不断出现的这些 ^M 是什么?

    我认为这可能与 TextMate 有关 但我们在一个小团队中工作 并且在 git 中几乎相同的文件的全文件冲突方面遇到了一些问题 在一个分支中 文件的每一行都附加了 M 这是什么神秘的事 M角色应该做什么 它从哪里来 我们的开发人员在 Wi
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对

随机推荐

  • PIM-SM协议初探(一)路由角色选举

    PIM是Protocol Independent Multicast 协议无关组播 的简称 表示可以利用静态路由或者任意单播路由协议 包括RIP OSPF IS IS BGP等 所生成的单播路由表为IP组播提供路由 组播路由与所采用的单播路
  • html输出xml纯文本,将XML转换为纯文本

    我的目标是构建一个引擎 它使用最新的HL7 3 0CDA文档 并使它们与HL7 2 5向后兼容 后者是一个完全不同的野兽 CDA文档是一个XML文件 当与匹配的XSL文件配对时 它会呈现适合最终用户显示的HTML文档 在HL7 2 5中 我
  • “定制化人才” 的悲哀

    这篇博客写得就是自己现阶段的一些感悟 今天看到一个微信公众号的文章推送 标题就是 24岁后 你更应该逼自己系统性成长 只是看到这个标题就很有感触啊 因为还有一个月就24了 但是很迷茫 完全不知道自己的竞争力在哪里 可能唯一的优势大概就是前后
  • REDIS19_zipList压缩列表详解、快递列表 - QuickList、跳表 - SkipList

    文章目录 压缩列表 zipList 快递列表 QuickList 跳表 SkipList 压缩列表 zipList ZipList是一种特殊的 双端链表 由一系列特殊编码的连续内存块组成 可以在任意一端进行压入 弹出操作 并且该操作的时间复
  • CSRF(跨站请求伪造)详细说明

    Cross Site Request Forgery CSRF 中文一般译作跨站请求伪造 经常入选owasp漏洞列表Top10 在当前web漏洞排行中 与XSS和SQL注入并列前三 与前两者相比 CSRF相对来说受到的关注要小很多 但是危害
  • java符号解释大全,太完整了!

    微服务是什么 微服务起源于2005年Peter Rodgers博士在云端运算博览会提出的微Web服务 Micro Web Service 根本思想类似于Unix的管道设计理念 2014年 由Martin Fowler 与 James Lew
  • python中使用pymongo操作mongo

    MongoDB是由C 语言编写的非关系型数据库 是一个基于分布式文件存储的开源数据库系统 其内容存储形式类似JSON对象 它的字段值可以包含其他文档 数组及文档数组 非常灵活 在这一节中 我们就来看看Python 3下MongoDB的存储操
  • Hibernate学习笔记 多表映射

    前面说了Hibernate的单表映射 由于是实体类和数据表之间一对一的映射 所以比较简单 现在就来说说多表映射 这需要涉及到多个实体类和数据表之间的关系 因此稍微复杂一点 建立实体类 我建立了两个实体类 一个作者类 一个文章类 其他方法都忽
  • Pytorch使用DDP加载模型时出现多进程在GPU0上占用过多显存的问题

    使用pytorch DDP DistributedDataParallel 分布式数据并行 可以进行多卡训练 涉及到模型保存与加载问题时 一般会涉及到以下两种需求 将多卡训练的模型保存到磁盘 从磁盘加载模型 在多卡上继续训练 如何无bug且
  • MySQL server安装流程

    1 进入到mysql官网MySQL 这里显示的是32位 但是实际下载的时候也会下载64位的 双击进行安装 然后一路点击next 配置保持默认 然后点击next 2 配置环境变量 如果想要在dos面板中使用mysql命令 需要到系统变量pat
  • 【牛客网】找出字符串中第一个只出现一次的字符

    题目描述 找出字符串中第一个只出现一次的字符 输入描述 输入一个非空字符串 输出描述 输出第一个只出现一次的字符 如果不存在输出 1 示例 输入 asdfasdfo 输出 o 完整代码 include
  • AddString[LeetCode]

    class Solution public string addStrings string num1 string num2 string res int m num1 size 1 记录字符串num1最后一位 int n num2 si
  • 阿里云飞天系统

    阿里云飞天系统 有幸在阿里云飞天部门工作几年 下面给出基础架构一览
  • 能拟合任何函数的神经网络只是个分段线性函数

    原文 https mp weixin qq com s XA1zS9bvgAfRkmTh e 78g 阅读本文 你可以理解 能逼近 拟合 任何函数只是个分段线性函数 让你深刻理解神经网络能力的边界 消除你对神经网络的神秘感 需要你具备的知识
  • PMOS管经典开关电路-PMOS开关典型电路工作原理及分析-KIA MOS管

    PMOS管经典开关电路 下图是两种PMOS管经典开关电路应用 其中第一种NMOS管为高电平导通 低电平截断 Drain端接后面电路的接地端 第二种为PMOS管典型开关电路 为高电平断开 低电平导通 Drain端接后面电路的VCC端 首先要进
  • 在本地配置nginx配置负载均衡

    首先建一个工程 确保在idea上能跑通 2 把这个项目打成war包 在tomcat下跑 1 为了不影响idea项目的正常运行 我在复制一个tomact 命名为tomcat 1 这个时候是要给tomcat 1配置环境变量的 有两种配置方案 一
  • 机械寿命预测(基于NASA C-MAPSS数据的剩余使用寿命RUL预测,Python代码,CNN_LSTM模型,有详细中文注释)

    1 效果视频 机械寿命预测 NASA涡轮风扇发动机剩余使用寿命RUL预测 Python代码 CNN LSTM模型 有详细中文注释 哔哩哔哩 bilibili 环境库版本 2 数据来源 https www nasa gov intellige
  • 基于Anycloud平台移植zxing-cpp(glassechidna )

    基于Anycloud平台移植zxing cpp 0 环境准备 系统环境Ubuntu 16 04 7 zxing cpp下载 本次使用的是 glassechidna 的代码 git clone https github com glassec
  • STM32F103C8T6+ST7735TFT LCD彩屏驱动程序

    使用环境 蓝色粗体字为特别注意内容 1 软件环境 Keil MDK 5 15 2 硬件环境 STM32F103C8T6最小系统 ST7735 1 44寸TFT LCD 某宝看到一块1 44寸的LCD 性价比蛮高 图片如下 主要参数如下 点阵
  • 使用git管理keil工程

    1 gitignore规则 使用git管理工程时 工程目录下有许多文件是不需要跟踪管理的 因此 我们一般会在工程目录下创建 gitignore文件 在其中编写忽略规则即可 gitignore忽略规则如下表所示 格式 说明 示例 注释 本行为