首页 > 其他分享 >在keil中使用git

在keil中使用git

时间:2024-09-05 19:13:39浏览次数:7  
标签:git https keil 命令行 使用 源代码 com SVCS

目录

在开发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.git
   cfa1a40..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.自定义命令

标签:git,https,keil,命令行,使用,源代码,com,SVCS
From: https://www.cnblogs.com/fedorayang/p/18397623

相关文章

  • 【springboot】使用缓存
    目录1.添加依赖2.配置缓存3.使用@EnableCaching注解开启缓存4.使用注解       1.配置缓存名称        2.配置缓存的键       3.移除缓存5.运行结果1.添加依赖<!--springboot缓存--><dependency><g......
  • 【SpringBoot】使用Nacos服务注册发现与配置管理
    前提:需要提前部署好nacos服务,这里可以参考我的文章:Windows下Nacos安装与配置0.版本信息SpringBoot3.2.8SpringCloud2023.0.1SpringCloudalibaba2023.0.1.0nacos2.3.2本地安装的nacos2.3.0       SpringBoot、SpringCloud、SpringCloudalibaba的版本对应可......
  • 【springboot】使用swagger生成接口文档
    1.添加依赖<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency>       这里我老是添加不上......
  • laravel singleton 单例模式使用
    laravelsingleton单例模式使用1、简介在Laravel中,singleton是用于将一个类注册为单例模式的服务,也就是说,整个应用程序生命周期内,Laravel只会实例化一次该服务。这个服务可以在多个地方共享同一个实例,而不是每次请求时都创建一个新的实例。2、使用场景当你希望某个类只......
  • 在 Vue3 中使用 CSS Modules 实现样式隔离
    在Vue3中使用CSSModules实现样式隔离随着构建现代前端应用的需要,样式的管理和隔离变得越来越重要。为了解决样式冲突和管理困难的问题,CSSModules应运而生。今天,我们将讨论如何在Vue3中使用CSSModules实现样式隔离,特别是在使用新的setup语法糖的情况下。什么......
  • 如何使用 Bittly 创建一个本地 HTTP 服务器
    Bittly支持在本地创建HTTP服务器。通过配置该服务器,可以根据匹配规则自动响应HTTP请求,并通过变量和脚本实现动态数据内容的响应。此外,Bittly的本地HTTP服务器还支持配置文档根目录,直接将指定路径作为Web目录进行访问,无需配置完整的HTTP服务器。Bittly的HTTP......
  • 第16篇 如何制作自己的安装程序--使用InnoSetupPE工具
    1.安装去官网下载最新版本:https://jrsoftware.org/isdl.php#stable2.进入应用主界面3.点击file》New【开始打包】直接next4.填写相关数据直接点next5.根据要求填写,然后直接next6.这里默认不改,然后直接next7.这里也默认不改,然后直接next8.这里为空,可以不填,然后......
  • 如何将 SSH Key 添加到极狐GitLab 中?
    本文分享如何生成SSHKey并添加到极狐GitLab中,然后用SSHKey进行代码拉取。SSHKey对于通过ssh来进行极狐GitLab代码拉取是重要的,完成整个流程一般分为三步:SSHKey的生成添加SSHKey到极狐GitLab中使用ssh克隆代码第一步:生成SSHKey使用ssh-keygen命令来生成SSH......
  • 【正则表达式】非捕获组 (?: ... )的使用方法和必要性
    定义非捕获组,用(?:...)表示。这意味着它将匹配括号内的内容,但是不会将匹配的内容存储到内存中供后续引用。这对于那些我们想要作为一个整体处理,但是又不需要单独捕获其内容的情况非常有用。举例假设我们有一个字符串abc123def,并且我们想要匹配其中的数字,同时忽略其他部分......
  • 使用 Tailwind CSS 打造流星边框动画:提升网站视觉效果
    在现代网页设计中,良好的视觉效果不仅可以吸引用户的注意,还能提升网站的整体用户体验。今天我们要聊的就是如何使用TailwindCSS打造流星边框动画,为你的网站增添一抹炫丽的色彩。TailwindCSS是一个功能强大、灵活易用的CSS框架,帮助我们快速实现各种复杂的设计效果。而流星边......