當(dāng)前位置:首頁 > 公眾號(hào)精選 > TopSemic嵌入式
[導(dǎo)讀]作者:曉宇,整理:曉宇微信公眾號(hào):芯片之家(ID:chiphome-dy)學(xué)生時(shí)期,相信大家都有下面的經(jīng)歷,寫畢業(yè)論文的時(shí)候,每次修改之前,都會(huì)先把當(dāng)前最新的版本復(fù)制一份,然后再重新命名一個(gè)標(biāo)題,但是,之前的舊版本又不會(huì)刪掉,為了保險(xiǎn)起見,感覺萬一新的文檔沒改好還能有個(gè)舊的版本可...



作者:曉宇,整理:曉宇


微信公眾號(hào):芯片之家(ID:chiphome-dy)學(xué)生時(shí)期,相信大家都有下面的經(jīng)歷,寫畢業(yè)論文的時(shí)候,每次修改之前,都會(huì)先把當(dāng)前最新的版本復(fù)制一份,然后再重新命名一個(gè)標(biāo)題,但是,之前的舊版本又不會(huì)刪掉,為了保險(xiǎn)起見,感覺萬一新的文檔沒改好還能有個(gè)舊的版本可以用。于是,就有了下面的一幕:


大家別笑,這都是真實(shí)發(fā)生的案例,更有甚者,自己筆記本拷貝畢業(yè)論文到U盤,在其它電腦修改了,又忘記更新回自己電腦,或者,時(shí)間長(zhǎng)了,想找到之前文檔中的一些文字,但是又忘記在那個(gè)版本來。是不是非??鄲?,你可能覺得,那我找回之前的版本一個(gè)個(gè)查看不就可以了,又沒刪,但是你這才幾個(gè)文件,如果文件數(shù)量翻幾倍呢?那么,有沒有什么軟件可以幫助我們對(duì)文件進(jìn)行版本控制呢?今天,曉宇姐姐教大家用Git來進(jìn)行版本控制。
聽到Git,一些單片機(jī)或者是軟件開發(fā)的初學(xué)者又打算停止看下去了,好麻煩啊,又得記一堆命令,每次改完我也懶得命令提交,我還是通過日期來記錄好了,于是又出現(xiàn)下面一幕:項(xiàng)目完成初期,還大致記得每個(gè)版本改了什么,1個(gè)月后,需要某個(gè)舊版本的信息,或者新的版本出了什么問題,需要追溯查找改動(dòng)的代碼部分,這時(shí)候,麻煩就來了,工程師喃喃自語道 "我好像記得改了這個(gè)地方,但是不知道是不是只有這個(gè)地方改動(dòng)來",然后,很苦逼的一個(gè)文件一個(gè)文件的去對(duì)比。


看到上面的這一幕,我們肯定不想重蹈上面工程師的覆轍,但是即使用文件記得再詳細(xì),當(dāng)在不同電腦,或者是不同工程師開發(fā)同一個(gè)項(xiàng)目的時(shí)候,幾乎不可能不出錯(cuò)的記錄,而且這樣記錄,很累。


上面說的一大堆,所謂欲揚(yáng)先抑,就是為了引出我們今天的主角,一個(gè)軟件版本控制神器--TortoiseGit。TortoiseGit,簡(jiǎn)稱tgit,中文名海龜Git,是一個(gè)GIT版本控制系統(tǒng)的客戶端。我們需要先下載幾個(gè)軟件,并依次安裝好:
1、Git-2.28.0-64-bit,大家根據(jù)自己的系統(tǒng)下載(https://git-scm.com/download/win)
2、TortoiseGit(https://tortoisegit.org/download/)3、TortoiseGit  Language Packs,漢化包,下載鏈接同上。們?cè)?/span>E盤項(xiàng)目文件下創(chuàng)建一個(gè)文件夾,用來存儲(chǔ)以太網(wǎng)網(wǎng)關(guān)項(xiàng)目的資料,并右鍵執(zhí)行如下操作,在此文件夾下面創(chuàng)建一個(gè)版本庫:


可以看到,在文件夾下多了一個(gè).git的隱藏文件夾,千萬不要?jiǎng)h掉,這個(gè)就是我們的版本記錄文件。


進(jìn)行正式操作之前,我們先簡(jiǎn)單配置一下軟件:
最后一幅圖,配置用戶信息,做為用戶操作git的個(gè)人標(biāo)識(shí),我們填寫個(gè)人名稱跟郵箱,然后編輯一下全局變量,加入以下配置,用于記住密碼。,之后保存退出即可。


[credential] helper = store 我們把我們第一版本的工程文件放入software文件夾下,然后打開工程,這就是我們的V1.0.0版本的原始程序了。
V1.0.0版本的程序?qū)懞弥?,我們需要先提交一次,如下操作?/span>然后會(huì)彈出一個(gè)對(duì)話框,注意,這個(gè)是重點(diǎn):
第一個(gè)紅框中,需要填寫版本日志信息,需要說明這個(gè)版本所更新的內(nèi)容;第二個(gè)紅框中,為提交者的的名字以及提交的日期,這個(gè)主要在多人協(xié)同中比較有用;第三個(gè)紅框勾選全部,然后會(huì)把本次更新所涉及到的文件全部選中,最后選擇提交。


看到下圖紅框中的成功,表示本次推送成功,這里,僅僅是把更新推送到本地Git倉庫,文件都還在本地。
我們的代碼版本,不僅可以存在本地倉庫存儲(chǔ),還可以推送到云端服務(wù)器進(jìn)行保存,我們可以搭建本地的Git服務(wù)器,也可以使用現(xiàn)成的Git服務(wù)器,這里推薦其中一個(gè)平臺(tái)--碼云。
對(duì)的,你沒聽錯(cuò),是碼云,網(wǎng)址:https://gitee.com/,大家各自注冊(cè)賬號(hào)。然后,按照下圖建立一個(gè)私有倉庫
然后復(fù)制這個(gè)地址右鍵工程項(xiàng)目,點(diǎn)擊Git推送


點(diǎn)擊管理,把我們剛剛復(fù)制的那個(gè)鏈接放進(jìn)URL框中,點(diǎn)擊保存。這個(gè)鏈接是我們項(xiàng)目的遠(yuǎn)端地址,也是我們將本地文件推送的地址,然后確定推送。



如果推送失敗,需要先拉取一下服務(wù)器文件更新一下本地倉庫,然后再推送即可。
推送成功之后,我們看看網(wǎng)頁端有什么變化。
主頁動(dòng)態(tài)框這里,馬上就更新了,提示,某某某在什么時(shí)間段推送了什么文件到哪個(gè)分支,在多人服務(wù)同一個(gè)項(xiàng)目的時(shí)候特別有用。
我們?cè)倏纯错?xiàng)目頁面,可以看到,我們的整個(gè)工程文件都更新到服務(wù)器了。
過了幾天,我們更新了V1.1.0版本,在主函數(shù)中增加了一個(gè)SENSOR_Task的任務(wù),部分改動(dòng)如下:


1、增加了注釋;2、增加了宏定義以及任務(wù)句柄定義;3、主函數(shù)中新增了一個(gè)任務(wù)。


我們保存編譯之后,重新提交,方法還是按照上面的,提交之前,我們看到文件夾的圖標(biāo)由之前綠色的對(duì)號(hào)變成了紅色的感嘆號(hào),綠色代表文件目前都是最新的,紅色代表里面又改動(dòng)過了,還沒提交。


我們?cè)诳梢钥吹奖敬翁峤坏淖兏斜碇?,主要改?dòng)的就是main.c文件,我們雙擊一下main.c這一行。


黃色背景部分直接就顯示出了新舊兩個(gè)main.c之間改動(dòng)過的地方,這一功能是不是特有用,當(dāng)我們想找回以前版本到底改動(dòng)了哪些的時(shí)候,直接在對(duì)話框中選中相應(yīng)的版本,然后在變更列表中我們就可以很清晰的看出被改動(dòng)過的每一行。


然后我們像之前一樣點(diǎn)擊提交,提交之后,可以再網(wǎng)頁動(dòng)態(tài)看到本次提交的信息,然后在項(xiàng)目統(tǒng)計(jì)這里,我們可以看到完整的項(xiàng)目提交歷史。


在本地文件夾,我們也可以查看版本記錄,方法如下:
在這個(gè)界面,我們可以非常清晰的看到各個(gè)版本之間的變更信息,提交的作者以及日期,對(duì)于我們掌控整個(gè)項(xiàng)目的生命周期,能起到非常重要的作用。



當(dāng)我們更新了N次之后,界面就是這樣子的
我們想導(dǎo)出哪個(gè)歷史版本,直接在對(duì)應(yīng)版本右鍵導(dǎo)出即可。
啰嗦了一大堆,我們上面說的,說白了就是一個(gè)軟件,這個(gè)軟件可以幫助我們以可視化的方式管理我們的程序版本,方便我們追溯回顧歷史更改,同時(shí)可以提交到服務(wù)器,便于備份文件,同時(shí),也方便我們?cè)诓煌牡攸c(diǎn),環(huán)境修改代碼,改完之后提交到服務(wù)器,這樣,這服務(wù)器永遠(yuǎn)保留最新的版本,不同的終端也可以看到修改的問題點(diǎn),大大的方便了我們的項(xiàng)目管理。本次先帶大家簡(jiǎn)單入門,大家也可以自己摸索,TortoiseGit的功能非常強(qiáng)大,我們這里只是介紹了其中一部分,剩下的下次再跟大家嘮嗑。
謝謝大家閱讀到這里,希望大家在學(xué)習(xí)的同時(shí)可以enjoy!
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉