www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式案例Show
[導(dǎo)讀]點擊上方藍(lán)字關(guān)注我哦~ 你現(xiàn)在的Keil工程的版本控制是怎么管理的?可能有些人的做法是發(fā)布一個版本軟件后將代碼打一個包保存起來,作為此版本的備份。有一種常見的情況,當(dāng)開始一項新功能的開發(fā),并且最終的效果不理想老板要求回退回去。又恰巧在開發(fā)前沒有

點擊上方藍(lán)字關(guān)注我哦~

你現(xiàn)在的Keil工程的版本控制是怎么管理的?可能有些人的做法是發(fā)布一個版本軟件后將代碼打一個包保存起來,作為此版本的備份。有一種常見的情況,當(dāng)開始一項新功能的開發(fā),并且最終的效果不理想老板要求回退回去。又恰巧在開發(fā)前沒有打個包保存一下初始版本,那就需要一處一處回改,這樣手工回退后的版本可靠性就下降許多,需要完整的測試才行。為了避免這種尷尬的情況,有必要在keil工程也引入版本控制工具。


Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds (Linux發(fā)明者)為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。這個誕生于2005年并且至今都使得開發(fā)者贊不絕口的工具,實際上Linus僅開發(fā)了兩周并在一個月內(nèi)就上線用于管理龐大的Linux內(nèi)核了,不得不贊嘆天才的偉大和凡人的不可企及。


時至今日,Git早已在Android開發(fā)、Linux開發(fā)、web開發(fā)等場景成為最通行的版本管理工具,另外一些IDE集成開發(fā)環(huán)境也加入了Git,例如Android Studio, Intellij IDEA等。嵌入式開發(fā)常用的Keil也在keil5.15后也已經(jīng)集成了版本管理工具,但是本文仍然是就Windows版Git管理Keil工程的示例,方便老版本的keil項目建立git管理。Keil5內(nèi)集成的git的使用方法有機會再整理出來。


Git的實用性也逐漸帶來了git托管平臺的流行,如GitHub、GitLab、Bitbucket、Codeing.net、Gitee等。無數(shù)崇尚軟件開源的開發(fā)者揮灑著汗水在這些平臺上貢獻了數(shù)以億計的開源項目,使得咱們這些普通人可也以參與其中,接觸到最前沿的技術(shù)、最酷炫的功能。身為一個開發(fā)者也要學(xué)會在開源代碼上汲取這些全球精英所奉獻的新知識新技能。

關(guān)于Git的使用方法,可以參考廖雪峰的git教程,深入淺出非常實用。在這篇文章中主要講的是將一個既有的Keil工程加入git管理的方法。

01

安裝windows版git


可以去官網(wǎng)下載windows版本的git, https://git-scm.com/downloads

安裝完成后,在開始菜單內(nèi)找到Git Bash并啟動。啟動后的操作窗口類似于windows的cmd窗口。在bash窗口內(nèi)可以執(zhí)行Linux的一些shell指令。

安裝完成后,還需要設(shè)置郵箱地址和用戶名,在命令行輸入:

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"


因為Git是分布式版本控制系統(tǒng),可以多人在一起開發(fā)。所以每次提交,每次上傳,都會帶有你這臺電腦的標(biāo)記——郵箱地址和用戶名。

02

本地建立git庫


以/D/PROJ/project的一個keil工程為例。

1.進入工程所在的目錄,使用ls指令查看是否正確的進入了目錄。

xxxx@DESKTOP-TH28NBD MINGW64 /$ cd /D/PROJ/project/ xxxx@DESKTOP-TH28NBD MINGW64 /D/PROJ/project (master)$ lsinc/ Libraries/ README.en.md README.md RVMDK/ src/

2、初始化本地git倉庫

git init

在project的目錄下可以看到.git的目錄,該目錄包含讓 git 能夠正常工作所需的所有信息。

03

遠(yuǎn)程代碼托管平臺

Github和Gitlab是最流行的托管平臺,由于眾所周知的原因,這些國外的網(wǎng)站在國內(nèi)的訪問速度很不理想,國內(nèi)使用推薦gitee碼云或coding.net。以Gitee來舉例。


Gitee免費版可創(chuàng)建 1000 個倉庫,不限制公私有。單倉庫大小上限為 500M,單文件最大 50M,用戶總倉庫容量為 5G。對于一般的keil嵌入式開發(fā),免費版已經(jīng)綽綽有余了。

1.注冊Gitee,根據(jù)網(wǎng)站的提示完成注冊。

2.配置ssh


本地Git倉庫和Gitee倉庫之間的傳輸是通過SSH加密的,所以需要配置ssh,使得托管平臺認(rèn)可你這臺電腦的git操作。在Git Bash內(nèi)執(zhí)行以下指令創(chuàng)建SSHkey。

ssh-keygen -t rsa -C youremail@example.com


把郵件地址換成你自己的郵件地址,然后回車一路使用默認(rèn)值即可。完成后在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以發(fā)送給他人。

Windows的目錄在c盤的用戶目錄內(nèi)。

3.上傳ssh公鑰到碼云

點擊右上角的用戶頭像,選擇設(shè)置。然后在設(shè)置頁面的左側(cè)功能欄選擇SSH公鑰。將剛才生成的id_rsd.pub的內(nèi)容拷貝進公鑰內(nèi)容框內(nèi),標(biāo)題隨意填寫。

4.創(chuàng)建項目倉庫

點擊頁面右上角的加號,并選擇新建倉庫。

04

本地提交代碼與推送遠(yuǎn)程庫


1.添加遠(yuǎn)端地址

git remote add origin ssh地址如 git remote add origin git@gitee.com:xxxx/xxxx.git


ssh地址在gitee倉庫頁面點擊“克隆/下載”按鈕獲取。

可以通過 git remote -v指令查看遠(yuǎn)端的連接。

$ git remote -vorigin git@gitee.com:xxxx/PROJECTTEST.git (fetch)origin git@gitee.com:xxxx/PROJECTTEST.git (push)

2.拉取遠(yuǎn)端版本到本地

git pull origin master
$ git pull origin masterremote: Enumerating objects: 4, done.remote: Counting objects: 100% (4/4), done.remote: Compressing objects: 100% (4/4), done.remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (4/4), done.From gitee.com:xxxx/PROJECTTEST * branch master -> FETCH_HEAD * [new branch] master -> origin/master

拉取成功后,本地目錄可以看到剛才創(chuàng)建gitee倉庫時創(chuàng)建的Readme文件。

3.本地提交代碼

將project內(nèi)原有的代碼,inc/ src/目提交到本地倉庫。

git add src/git add inc/git commit -m “first commit”


注意不要講編譯生成的文件add進去,只將代碼add進倉庫。因為編譯生成的文件每次編譯都會變化,這樣每次的版本提交都包含了這些非代碼改變的提交,不僅會使得版本很混亂也會占用很多遠(yuǎn)程倉庫的空間。當(dāng)然這也可以通過增加gitignore文件的方法來處理。

4.推送本地倉庫到遠(yuǎn)端

git push origin master$ git push origin masterEnumerating objects: 32, done.Counting objects: 100% (32/32), done.Delta compression using up to 8 threadsCompressing objects: 100% (31/31), done.Writing objects: 100% (31/31), 22.22 KiB | 2.78 MiB/s, done.Total 31 (delta 12), reused 0 (delta 0)remote: Powered by GITEE.COM [GNK-5.0]To gitee.com:xxxx/PROJECTTEST.git 4d112e2..ebaf8bd master -> master


直接git push會提示警告

$ git pushfatal: The current branch mater has no upstream branch.To push the current branch and set the remote as upstream, use

git push --set-upstream origin master

按照提示執(zhí)行g(shù)it push --set-upstream origin master,以后再推送版本,只需要輸入git push就可以了。


至此,將一個現(xiàn)有的keil工程加入git管理,并在遠(yuǎn)端托管平臺備份的操作都完成了,后面在這個工程上做開發(fā)并提交版本,就按照常規(guī)的git操作 git add、git commit、git push就可以了。本文開始提出的版本回退問題,只需要執(zhí)行g(shù)it reset –hard的指令,代碼就自動回退到指定的提交點了。更多的git功能,開發(fā)者可以在后續(xù)的實際開發(fā)中不斷學(xué)習(xí)完善,

/ The End /

本文系嵌入式案例Show原創(chuàng)出品,未經(jīng)許可,請勿轉(zhuǎn)載。

掃碼關(guān)注我們

看更多嵌入式案例


喜歡本篇內(nèi)容請給我們點個在看

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉