<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 如何使用 git 管理 MDK 工程?

如何使用 git 管理 MDK 工程?

發(fā)布人:魚(yú)鷹談單片機 時(shí)間:2021-10-21 來(lái)源:工程師 發(fā)布文章

很多初學(xué)者都不會(huì )使用 git 管理工程,一來(lái)不熟悉這個(gè)工具,二來(lái)不知道使用 git 有什么好處,增加學(xué)習成本,當初魚(yú)鷹在大學(xué)的時(shí)候就有了解過(guò) git 這個(gè)分布式管理工具,但真正用它管理工程還是在工作一年之后才開(kāi)始的。

那個(gè)時(shí)候不知道 git 到底有多香,所以也不會(huì )想要真正使用它,最多就是從 github 上下載一些開(kāi)源項目學(xué)習而已。直到跳槽的那個(gè)公司使用 git 去管理 STM32 工程,然后到現在差不多使用了兩年的時(shí)間,才知道到 git 到底有多香了。

所以即使工作上沒(méi)有要求使用 git 管理工程,也建議大家自行使用 git 去管理自己的項目。因為如果只是自己使用的話(huà),是不需要搭建 gitlab 之類(lèi)的服務(wù)器,直接安裝好客戶(hù)端在本地管理即可,也不怕上傳公司項目到 github、gitee 服務(wù)器上而導致項目泄密的問(wèn)題。

所以,強烈建議大家使用 git ,除了今天這篇筆記,魚(yú)鷹接下來(lái)還會(huì )介紹一些非常常用的命令來(lái)幫助大家快速入手 git。

閑話(huà)少說(shuō),我們先看看 git 的幾個(gè)優(yōu)點(diǎn),讓各位道友產(chǎn)生些許興趣。

1、可以查看每一次提交歷史。

這些提交記錄其實(shí)是你自己寫(xiě)的,每一次修改后,為了記錄這次修改,自己寫(xiě)一點(diǎn)類(lèi)似注釋的東西,告訴 git 這次做了什么修改,方便后面出現問(wèn)題追溯。

2、可以對比修改 

可以對比每次修改的地方,這樣你可以知道為什么當前代碼出現了問(wèn)題,而以前代碼沒(méi)有問(wèn)題。

3、可以對比當前修改 

當你修改了當前的代碼時(shí),可以告訴你目前做了哪些修改,這樣你可以確定是否需要將這些修改保存提交。

4、無(wú)縫銜接 VSCODE 

可以使用 VSCode 輕松對比查看修改。

1.png

這些優(yōu)點(diǎn)干巴巴的這樣寫(xiě)還是比較枯燥的,所以魚(yú)鷹會(huì )再下一篇筆記中結合命令和實(shí)際項目情況詳細介紹。這次就不多說(shuō)了。

直接進(jìn)入本篇筆記的主題:如何使用 git 管理 MDK 工程?

MDK 工程有兩個(gè)很關(guān)鍵的文件,即后綴 .uvoptx 、.uvprojx。所以你的倉庫中必定需要使用 add 命令添加這兩個(gè)文件。

2.png

其次就是你的 *.h *.c 文件,這些也必須添加(這不是廢話(huà)嗎,不然倉庫放啥)。當然如果這些源文件使用了文件夾包含,也會(huì )把這些文件夾添加進(jìn)去的(新建的文件夾只會(huì )在 git status 時(shí)顯示文件夾,不顯示文件夾內的具體文件,而如果是空文件夾,文件夾也不會(huì )顯示,所以你無(wú)法添加一個(gè)空文件夾。文件夾添加只是順帶的)。

工程里面的其他文件都是不需要的,都是可以由這些文件自動(dòng)生成,可以不被 git 所追蹤(管理)。這樣你上傳到服務(wù)器的空間將大大減小。

比如,Objects 里面的文件,這些都是編譯時(shí)自動(dòng)生成的,不必占用空間。

3.png

還有 listings 里面的文件也不需要。

4.png

當然,如果說(shuō)你的分散加載文件 *.sct (Objects 文件夾下)比較特殊,不想使用上面工程文件生成的,那么你也要添加進(jìn)倉庫里面管理,這樣別人下載你的工程后才能根據這個(gè)文件正確編譯(比如自檢代碼時(shí)就要特制 sct 文件)。

使用 jlink 下載時(shí),會(huì )生成兩個(gè)文件:

5.png

這兩個(gè)文件沒(méi)啥用,就不用添加了,也可以自己生成。如果你有批處理文件,比如刪除中間文件的批處理,那么也可以添加進(jìn)倉庫。

6.png

如果你使用了 MDK 的 *.ini 文件,那么這個(gè)也需要。這個(gè)可不是自動(dòng)生成的。比如 RAM 運行時(shí)用的配置文件。

7.png

你的工程可能使用 readme.txt ,那么這個(gè)也需要添加??傊粋€(gè)原則是,只保留必須的,可以自動(dòng)生成的非特殊文件都可以不添加進(jìn)倉庫占用空間。

那么如何保證 git 忽略那些不需要的文件呢?

其實(shí)你只要 add 你需要的文件就可以了,但這樣一來(lái),git 會(huì )一直提示你有哪些文件并沒(méi)有添加到倉庫中,問(wèn)你是否需要添加進(jìn)去,這樣就很煩,所以就有一個(gè) .gitignore 文件用來(lái)忽略這些不希望跟蹤的文件。

8.png

特別注意的是,這個(gè)文件很特殊,它的后綴就是 .gitignore ,不是你認為的 txt 之類(lèi)的后綴,而且沒(méi)有文件名。所以如果說(shuō)你新建了這個(gè)文件,又添加了忽略文件,但是 git status 還是顯示了這些文件,那么就要好好檢查你這個(gè)文件名是否正確了(只要有這個(gè)文件,立即生效)。當然你也要把它 add 進(jìn)倉庫,不然別人下載后就沒(méi)有這個(gè)文件了,也就無(wú)法忽略那些文件。

那么這個(gè)文件可以添加什么內容呢?如下:

##########################################
#git add .
#git commit -m 'update .gitignore'
##########################################
!debug.ini  # 該文件不忽略
*.ini
JLinkLog.txt
Listings
DebugConfig
Objects
.vscode
*.uvguix.*
*.si4project
SI
*.TMP
*.hex
*.map
*.lnp
*.htm
*.sct
ExtDll.iex

這里加一個(gè) ! 代表這個(gè) debug.ini 文件不忽略,而后面的 .ini 表示所有這類(lèi)后綴文件都會(huì )被忽略。也就是說(shuō),.ini 文件里面只有 debug.ini 不能忽略,其它都忽略,比如前面的 RAM.ini。

Objects 代表這個(gè)文件夾內所有文件都忽略。

后面都是類(lèi)似的。

還有要注意的是,如果你忽略的文件前沒(méi)有加路徑,那么它將忽略本目錄和子目錄下所有的同后綴名文件。而一旦加了路徑,比如 USER/*.txt(注意必須是斜桿),那么只會(huì )忽略這個(gè)目錄 USER 下的同后綴文件(不忽略子文件夾下的)。

以上就是魚(yú)鷹想分享的 MDK 管理內容,建議大家嘗試 git 管理項目,別再用復制文件夾這種效率低下的方式管理了。而當你需要維護多個(gè)定制化的客戶(hù)項目時(shí)(大部分功能相同,只有少部分有差異的項目),你就會(huì )發(fā)現 git 是真的香。

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

接地電阻相關(guān)文章:接地電阻測試方法


加速度計相關(guān)文章:加速度計原理


關(guān)鍵詞: 單片機

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>