點擊上方藍字關注我哦~
01
前言
SVCS(softwate version control system),即軟件版本管理系統(tǒng),是keil集成的軟件版本管理工具。首先更正上篇中關于keil的版本管理系統(tǒng)在μVersion5版本以后才有,實際上在μVersion2,主菜單內(nèi)就有了SVCS,只是在接觸Git前沒有去關注它。
μVersion5的SVCS在菜單中也未曾改變。
02
添加SVCS的git模板
1)點擊SVCS-Configure Software Version Controll。
2)導入git模板。在keil安裝目錄Keil_v5\UV4下自帶一個英文的模板:GIT.SVCS,到日即可。
導入后在SVCS菜單下多出了一系列git操作的菜單。
?git模板可以自己編譯,在網(wǎng)上也可以找到中文版的,效果如下。如有需要可以添加小編好友索取。
導入SVCS模板后后新增的這些菜單項,每一條對于的一個git語句。本質(zhì)上就是給不熟悉命令行操作的開發(fā)者提供一個UI界面,將常用的指令做成了菜單形式。詳細對應如下:
注意本篇是建立在上篇《使用git管理嵌入式軟件版本》 windows環(huán)境已將搭建好的前提下操作的。
03
編譯運行
下面一個簡單的開發(fā)過程作為示例。假如新的需求開發(fā)改動了uart.c和_uart.h。
1)查看修改的內(nèi)容
選中uart.c,選擇菜單中的“查看差異Blame ‘uart.c’”,在output的窗口中可以看到修改點。用于確認修改點。
diff --git a/src/uart.C b/src/uart.C
index 3ec85cb..01ede88 100644
--- a/src/uart.C
+++ b/src/uart.C
@@ -45,7 +45,7 @@ void uart_Init
GPIO_InitStructure.GPIO_Mode = UART1_TXD_GPIO_MODE;
GPIO_Init(UART1_TXD_GPIO_PORT, &GPIO_InitStructure);
- USART_InitStructure.USART_BaudRate = 115200;
+ USART_InitStructure.USART_BaudRate = 38400;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
同樣可以查看uart.h的改動內(nèi)容。
2)查看工作區(qū)狀態(tài)
選擇菜單中的“GIT狀態(tài)”,在output的窗口中可以看到
git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: ../inc/_uart.H
modified: ../src/uart.C
Untracked files:
(use "git add <file>..." to include in what will be committed)
../Libraries/
./
../SVCS/
no changes added to commit (use "git add" and/or "git commit -a")
可以看到在已改動的兩個文件_uart.H和 uart.C。
3)提交修改點到暫存區(qū)
選中uart.c,選擇菜單中的“GIT增加修改的文件(添加修改的文件) ‘uart.c’”。同樣提交_uart.h。再次查看GIT狀態(tài)。
git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: ../inc/_uart.H
modified: ../src/uart.C
Untracked files:
(use "git add <file>..." to include in what will be committed)
../Libraries/
./
../SVCS/
可以看到,此時_uart.H和uart.C已經(jīng)在暫存區(qū)了。
4)提交版本
選擇菜單中的“(提交版本)(將增加的文件提交到本地的版本庫)”。彈出的菜單中填寫本次提交的內(nèi)容注釋。
此時再Git Staus,這兩個文件已經(jīng)不在暫存區(qū)了,因為已經(jīng)提交到版本上了。
5)推送版本到遠程服務器
選擇菜單中的“(發(fā)布版本)將更改的文件工程推送到服務器”。
推送版本到遠程服務器不僅有利于備份代碼,也是多人合作開發(fā)必須操作。
在Gitee的首頁上能看到推送的內(nèi)容。
正常的一次開發(fā)提交通過以上幾步就完成了。在真實的開發(fā)過程中,可能會反復的修改一個文件,反復的提交到暫存區(qū)又取消,這樣就要靈活使用git add、git reset、git checkout、git stash等等指令。Keil中可以根據(jù)實際的使用需求來自行修改.scvs模板文件。
/ The End /
本文由【嵌入式案例Show】原創(chuàng)出品,未經(jīng)許可,請勿轉(zhuǎn)載
掃碼關注我們
看更多嵌入式案例
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!