git add remote_使用git管理嵌入式软件版本
點擊上方藍字關注我哦~
你現在的Keil工程的版本控制是怎么管理的?可能有些人的做法是發布一個版本軟件后將代碼打一個包保存起來,作為此版本的備份。有一種常見的情況,當開始一項新功能的開發,并且最終的效果不理想老板要求回退回去。又恰巧在開發前沒有打個包保存一下初始版本,那就需要一處一處回改,這樣手工回退后的版本可靠性就下降許多,需要完整的測試才行。為了避免這種尷尬的情況,有必要在keil工程也引入版本控制工具。
Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds (Linux發明者)為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。這個誕生于2005年并且至今都使得開發者贊不絕口的工具,實際上Linus僅開發了兩周并在一個月內就上線用于管理龐大的Linux內核了,不得不贊嘆天才的偉大和凡人的不可企及。
時至今日,Git早已在Android開發、Linux開發、web開發等場景成為最通行的版本管理工具,另外一些IDE集成開發環境也加入了Git,例如Android Studio, Intellij IDEA等。嵌入式開發常用的Keil也在keil5.15后也已經集成了版本管理工具,但是本文仍然是就Windows版Git管理Keil工程的示例,方便老版本的keil項目建立git管理。Keil5內集成的git的使用方法有機會再整理出來。
Git的實用性也逐漸帶來了git托管平臺的流行,如GitHub、GitLab、Bitbucket、Codeing.net、Gitee等。無數崇尚軟件開源的開發者揮灑著汗水在這些平臺上貢獻了數以億計的開源項目,使得咱們這些普通人可也以參與其中,接觸到最前沿的技術、最酷炫的功能。身為一個開發者也要學會在開源代碼上汲取這些全球精英所奉獻的新知識新技能。
關于Git的使用方法,可以參考廖雪峰的git教程,深入淺出非常實用。在這篇文章中主要講的是將一個既有的Keil工程加入git管理的方法。
01
安裝windows版git
可以去官網下載windows版本的git, https://git-scm.com/downloads
安裝完成后,在開始菜單內找到Git Bash并啟動。啟動后的操作窗口類似于windows的cmd窗口。在bash窗口內可以執行Linux的一些shell指令。
安裝完成后,還需要設置郵箱地址和用戶名,在命令行輸入:
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"因為Git是分布式版本控制系統,可以多人在一起開發。所以每次提交,每次上傳,都會帶有你這臺電腦的標記——郵箱地址和用戶名。
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
遠程代碼托管平臺
Github和Gitlab是最流行的托管平臺,由于眾所周知的原因,這些國外的網站在國內的訪問速度很不理想,國內使用推薦gitee碼云或coding.net。以Gitee來舉例。
Gitee免費版可創建 1000 個倉庫,不限制公私有。單倉庫大小上限為 500M,單文件最大 50M,用戶總倉庫容量為 5G。對于一般的keil嵌入式開發,免費版已經綽綽有余了。
1.注冊Gitee,根據網站的提示完成注冊。
2.配置ssh
本地Git倉庫和Gitee倉庫之間的傳輸是通過SSH加密的,所以需要配置ssh,使得托管平臺認可你這臺電腦的git操作。在Git Bash內執行以下指令創建SSHkey。
ssh-keygen -t rsa -C youremail@example.com把郵件地址換成你自己的郵件地址,然后回車一路使用默認值即可。完成后在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以發送給他人。
Windows的目錄在c盤的用戶目錄內。
3.上傳ssh公鑰到碼云
點擊右上角的用戶頭像,選擇設置。然后在設置頁面的左側功能欄選擇SSH公鑰。將剛才生成的id_rsd.pub的內容拷貝進公鑰內容框內,標題隨意填寫。
4.創建項目倉庫
點擊頁面右上角的加號,并選擇新建倉庫。
04
本地提交代碼與推送遠程庫
1.添加遠端地址
git?remote?add?origin?ssh地址如 git remote add origin git@gitee.com:xxxx/xxxx.gitssh地址在gitee倉庫頁面點擊“克隆/下載”按鈕獲取。
可以通過 git remote -v指令查看遠端的連接。
$ git remote -vorigin git@gitee.com:xxxx/PROJECTTEST.git (fetch)origin git@gitee.com:xxxx/PROJECTTEST.git (push)2.拉取遠端版本到本地
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拉取成功后,本地目錄可以看到剛才創建gitee倉庫時創建的Readme文件。
3.本地提交代碼
將project內原有的代碼,inc/ src/目提交到本地倉庫。
git add src/git add inc/git commit -m “first commit”注意不要講編譯生成的文件add進去,只將代碼add進倉庫。因為編譯生成的文件每次編譯都會變化,這樣每次的版本提交都包含了這些非代碼改變的提交,不僅會使得版本很混亂也會占用很多遠程倉庫的空間。當然這也可以通過增加gitignore文件的方法來處理。
4.推送本地倉庫到遠端
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, usegit push --set-upstream origin master按照提示執行git push --set-upstream origin master,以后再推送版本,只需要輸入git push就可以了。
至此,將一個現有的keil工程加入git管理,并在遠端托管平臺備份的操作都完成了,后面在這個工程上做開發并提交版本,就按照常規的git操作 git add、git commit、git push就可以了。本文開始提出的版本回退問題,只需要執行git reset –hard的指令,代碼就自動回退到指定的提交點了。更多的git功能,開發者可以在后續的實際開發中不斷學習完善,
/ The End /
本文系嵌入式案例Show原創出品,未經許可,請勿轉載。
掃碼關注我們
看更多嵌入式案例
喜歡本篇內容請給我們點個在看
總結
以上是生活随笔為你收集整理的git add remote_使用git管理嵌入式软件版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq登录界面句柄_别小看QQ邮箱测试,8
- 下一篇: python字符串前面加上序号_简单了解