在keil中使用git

news/2024/9/24 3:24:10

目录
  • 搜集官方相关帮助
    • 1.application note
    • 2.软件附带帮助文件
  • 基础准备
    • git命令行
    • MDK版本
  • 操作步骤
    • 1.Abstract(摘要)
    • 2.Introduction
    • 3.Workflows
      • 3.1.Centralized Workflow
    • 4.Using Git with µVision
      • 4.1.Project Files under Version Control
      • 4.2.Files that do not need to be monitored
      • 4.3.Configure µVision’s SVCS
        • 4.3.1.Accessing µVision Project Files
      • 4.4.Version Control of Software Packs
  • Centralized Workflow Example
    • 1.Initialize the Central Repository
    • 2.Clone a Repository from a Server
    • 3.Feature Work
      • Checking the File Status
      • Staging (Adding) an Untracked File
      • Staging Modified Files
      • Removing a Tracked File
      • 处理其他文件
      • Committing Changes
      • Pushing to the Repository
    • 4.Manage Conflicts
      • Rebasing
      • Blaming
      • Finishing the Rebase Process
      • Stashing a Project
      • Pulling the Latest Version from the Server Repository
    • 5.Conclusion
    • 6.Appendix A: Software
    • 7.Appendix B: Links
    • 8.自定义命令

在开发keil单片机程序时,使用git进行源代码管理时,大多数时候使用外部工具或命令行进行处理,会来回切换.

其实uVision集成了源代码管理界面接口.

搜集官方相关帮助

1.application note

在Getting Started with MDK Veersion5.pdf中有SVCS描述

如上所示,uVersion还支持svn等其他源代码管理系统模版文件.

点击链接会导航到相关资料:Using Git for Project Management with uVision (arm.com)

这段文字说明了为何需要源代码管理工具,为何源代码管理工具需要用git,下载apnt_279.zip和pdf即可.

2.软件附带帮助文件

基础准备

根据上述资料,即可实现keil中SVCS的配置,但是这里还需要说明,防止不熟悉的人少走弯路.

git命令行

一定要对git命令比较熟悉,为什么需要命令行呢?因为keil uVersion对git的支持不太完善,需要命令行辅助.

快速熟悉git的地方在bilibili,很多视频教程免费,国内速度很快,可以在上面搜索git相关教程.

git官网https://git-scm.com/book/en/v2的Pro Git书籍,这是一本很好的书籍,有中文,英文等多种语言.

git权威指南:https://www.worldhello.net/gotgit/,也是一本非常不错的书籍,如果想更进一步的话.

MDK版本

我试了一下,主观感觉keil里面的SVCS做的不是太完善,感觉上像一个半成品,最主要的原因应该是uVersion的架构导致的,只能定义一些命令,每个相当于批处理脚本,在gui上调用一下.keil也没有太花费心思在上面.选择不同的版本可能会遇到不同的问题.

只要对git命令行比较熟悉,以上搜集到的官方资料就可以解决问题.

操作步骤

主要参考下载的文档<<Using Git for Project Management with µVision.pdf>>

这里目录结构也是按照这个文档进行

1.Abstract(摘要)

说明为什么使用源代码管理工具,为什么使用git.

2.Introduction

简介源代码管理工具和git.

需要已经安装了git,会使用windows cmd.exe命令行终端.

3.Workflows

git最重要的开发方式是利用分支,为了简化这里不使用分支.

git使用范围很广,这里使用最简单直接的方式:centralized workflow.

学习git可以知道有哪些 workflows和怎样使用.

3.1.Centralized Workflow

解释什么是中心化的工作流,使用git实现中心化的工作流比svn等其他工具的好处.

这些内容学习git基础后非常容易理解,建议先看完git视频后,再接下来学习.

列举了使用centralized workflow需要的工作步骤1-4.

4.Using Git with µVision

4.1.Project Files under Version Control

说明哪些文件需要进行版本控制.

4.2.Files that do not need to be monitored

哪些文件不需要版本控制.

4.3.Configure µVision’s SVCS

配置文件如下:

#配置文件
D:\Keil_v5\UV4\GIT.SVCS
#或者
apnt_279\GIT.SVCS

打开对话框SVCS -> Configure Software Version Control…

导入配置文件

点击OK

打开工程后,上述模版文件生成菜单

4.3.1.Accessing µVision Project Files

SVCS菜单项命令作用于光标选择的文件

项目相关文件选择

4.4.Version Control of Software Packs

保存software pack版本信息到Project.uvprojx文件中.


Centralized Workflow Example

例子中心化工作流,如果SVCS菜单没有对应命令,需要使用其他客户端gitGUI或git命令行.

1.Initialize the Central Repository

由于此文档2015年发布第一版本后就没有更新过,不按照教程操作,现在已经有了很好用的windows平台下的命令行客户端.

https://git-scm.com/downloads

#提交检出均不转换
git config --global core.autocrlf false
git init
git add *
git commit -m 'Initial version'
#由于github国内上网不稳定,使用gitee作为托管仓库.
git remote add origin https://gitee.com/fedorayang/apnt_279.git
git push -u origin "master"

2.Clone a Repository from a Server

其他人可以clone服务器上的git仓库,你也可以以后clone

git clone https://gitee.com/fedorayang/apnt_279.git myapnt_279

3.Feature Work

先学好git基础知识,再继续下去,直接看这里会一头雾水.

Checking the File Status

运行菜单命令会出现一个cmd对话框闪烁一下,应该如下设置就不闪烁了.

Staging (Adding) an Untracked File

增加文件

暂存

Staging Modified Files

Removing a Tracked File

由于会导致Keil不稳定,默认模版没有集成git rm命令.

删除文件的步骤

#在uVersion的编辑器中关闭
#项目窗口中移除文件
git rm myfile.c
#如果修改暂存后移除需要使用命令
git rm -f myfile.c

处理其他文件

touch .gitignore
vim .gitignore*.uvguix.*

Committing Changes

Pushing to the Repository

git push origin master
remote: Powered by GITEE.COM [1.1.5]        
remote: Set trace flag 774194a1        
To https://gitee.com/fedorayang/apnt_279.gitcfa1a40..96cbc5b  master -> master

4.Manage Conflicts

Rebasing

rebase把本地提交一个一个的添加到远程仓库的最前面,保证提交历史的顺序递增.

制造两处冲突:

本地

远程


查看冲突文件

Blaming

Finishing the Rebase Process

手动修改冲突,并且add.

git rebase --continue

Stashing a Project

存储当前未完成的修改到一个栈上,切换到其他分支工作,完成其他分支工作后切换会当前分支,再次运用上次当前未完成的修改,继续当前工作.

需要其他命令行配合操作,参考(Pro git ->git 工具->贮藏与清理)

Pulling the Latest Version from the Server Repository

5.Conclusion

需要和其他GUI或命令行配合可以实现其他的工作流.

6.Appendix A: Software

  • 安装windows下的git
  • 对于老版本的MDK,使用这个appnote提供的git模版文件.

Git server space providers: https://github.com/, https://bitbucket.org, https://about.gitlab.com/

现在不止这些了,非常多,国内比较好用的托管仓库有gitee.

自己搭建git仓库可以使用gitea,gitblit等.

8.自定义命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/57019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

1000多天我开发了一个免费的跨浏览器的书签同步、阅读排版、任意网页标注插件

自我介绍 大家好,我是阿浩,一位后端开发工程师,同时也略懂前端技术。业余时间,我开发了这款小工具——《藏趣云》。 我为什么要写这么个工具 需求来源于我自己,因为我是做开发的。我日常都会使用多款浏览器来测试项目,一次需要登录多个账号,寻找各种测试地址链接。之前因…

02-逻辑概述负判断

https://blog.csdn.net/vviccc/article/details/106694210 来源

信息学奥赛初赛天天练-83-NOIP2014普及组-基础题2-输入设备、输出设备、操作系统、二进制、整数除法、while、do while循环

1 NOIP 2014 普及组 基础题2 4 以下哪一种设备属于输出设备( ) A 扫描仪 B 键盘 C 鼠标 D 打印机 5 下列对操作系统功能的描述最为完整的是( ) A 负责外设与主机之间的信息交换 B 负责诊断机器的故障 C 控制和管理计算机系统的各种硬件和软件资源的使用 D 将没有…

webstorm使用缩写生成自定义注释

/** =========================$END$========================= **/$END$代表生成的时候光标在哪里 date怎么写? date("Y-MM-d HH:mm:ss")

005.MinIO-DirectPV分布式多租户存储部署

MinIO部署准备 部署概述 本实验结合Kubernetes进行MinIO部署,实现MinIO于Kubernetes的融合。 minio官方支持通过简单的快速部署,以便于进行基础测试: curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O kubectl apply -f …