自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊Git版本控制工具使用說明和規(guī)范

開源
Git 是Linux 開源社區(qū)為Linux的開發(fā)與維護(hù)而開發(fā)的一個(gè)項(xiàng)目,目前已被廣泛應(yīng)用,關(guān)于版本控制工具各有特點(diǎn),本部門全部使用git,軟件開發(fā)前必須熟練掌握git的使用,以及遵守相應(yīng)操作規(guī)范。

[[383753]]

 windows環(huán)境下的Git版本控制工具使用說明和規(guī)范。

目錄

1 Git的安裝與使用

2 Git的使用規(guī)范

3 工欲善其事必先利其器

1、Git的安裝與使用

1.1 前言

Git 是Linux 開源社區(qū)為Linux的開發(fā)與維護(hù)而開發(fā)的一個(gè)項(xiàng)目,目前已被廣泛應(yīng)用,關(guān)于版本控制工具各有特點(diǎn),本部門全部使用git,軟件開發(fā)前必須熟練掌握git的使用,以及遵守相應(yīng)操作規(guī)范。

1.2 安裝

初次接觸Git的用戶,請抽出幾分鐘時(shí)間看一下https://git-scm.com/docs 的介紹文檔,相信磨刀不誤砍柴工。

Git 地址:https://git-scm.com/downloads

服務(wù)器端已經(jīng)安裝在內(nèi)網(wǎng)服務(wù)器,本文針對Window平臺(tái)的Git客戶端的安裝和使用。

1、安裝TortoiseGit-2.5.0.0-64bit.msi 一路下一步,這只是安裝了git的內(nèi)核功能,要在windows下操作,需要安裝界面外殼。

2、安裝GitExtensions-2.50.02-SetupComplete.msi 或者 Git-2.15.0-64-bit.exe,這是兩種風(fēng)格的界面,主體功能差不多,個(gè)人選擇的是后者,也可以兩個(gè)都安裝。

3、安裝過程中出現(xiàn)較多的配置,所有選項(xiàng)中,全部都選帶windows關(guān)鍵字的,否則用起來看不出問題,但是保存的記錄異常。既然是界面操作,就開啟鼠標(biāo)右鍵的快捷圖標(biāo)。

后續(xù)一些安裝選項(xiàng),全部選帶windows關(guān)鍵字的。

 

4、安裝完成后,鼠標(biāo)右鍵,會(huì)出現(xiàn) Git GUI Here。

 

5、如果是新手可安裝漢化補(bǔ)丁TortoiseGit-LanguagePack-2.5.0.0-64bit-zh_CN.msi。

1.3 基礎(chǔ)演示

1、配置

 

其中用戶名必須使用自己名字的全拼,不要使用簡寫或者其他特殊字符,以方便后期檢索跟蹤修改記錄。

2、創(chuàng)建本地版本庫,git creat repository here,默認(rèn)操作,即可創(chuàng)建版本,會(huì)在test空文件夾下生成.git 。

3、在test下隨便改動(dòng),如新加123.txt,提交改動(dòng)。此時(shí)鼠標(biāo)右鍵效果如下:

 

4、編輯本次修改記錄 修改記錄必須簡潔清晰,具體規(guī)范參考下一章。

 

5、保存本次修改后,使用Git GUI Here->Repository->Visualize master’s History查看全部版本記錄。

 

6、提交到遠(yuǎn)程服務(wù)器

 

7、同步遠(yuǎn)程分支

 

有時(shí)候提示提交推送失敗,先確定是否服務(wù)器有新節(jié)點(diǎn),先同步、合并(rebase)后再提交。

8、分支合并

 

一般選擇rebase,但其實(shí)它有缺點(diǎn)。特別提醒,進(jìn)行reabse前先將當(dāng)前分支新加分支名,以防操作失敗,節(jié)點(diǎn)錯(cuò)亂導(dǎo)致當(dāng)前節(jié)點(diǎn)消失。合并后必須先編譯驗(yàn)證了再提交。

9、通用配置和常用功能

 

1.4 總結(jié)

Git的使用尤其是多人合作,注意以下幾點(diǎn):

1、推送服務(wù)器前先同步;

2、兩個(gè)分支版本有沖突,先rebase解決,不熟練的情況下暫時(shí)不要使用merge;

3、版本節(jié)點(diǎn)不能使用中文,修改描述可以,關(guān)于修改描述的規(guī)范見下一章;

4、編譯自動(dòng)生成的臨時(shí)文件不要提交,可以使用TortoiseGit–>Delete and add in ignore list,可過濾指定的文件,即使有改動(dòng)也不提交;

5、Git自帶的比較工具比較差,可以配置使用外部比較工具。

一共三處,將Diff viewer和Merge Tool改為HA-BCompare。

[[383754]]

 

這個(gè)工具的比較功能強(qiáng)大,顯示界面清晰。

 

2 Git的使用規(guī)范

1.1 用戶名

為保證問題跟蹤方便,歷史修改記錄溯源,首次提交前必須設(shè)置用戶名和郵箱,尤其是用戶名,必須使用自己名字的小寫全拼,不得使用簡稱或者特殊代號(hào)。

1.2 分支名

功能接近的項(xiàng)目,盡量使用功能宏或者項(xiàng)目宏,從軟件源碼上減少分支;

分支名稱使用大寫字母和下劃線,不能包含空格或中文;

臨時(shí)測試或驗(yàn)證某個(gè)功能的分支,必須以TEST_開頭,驗(yàn)證無誤,且應(yīng)用到正式項(xiàng)目后,最好刪除遠(yuǎn)程分支;

某個(gè)版本基礎(chǔ)上小改動(dòng),為解決生產(chǎn)或者客戶問題的版本,必須以PATCH_開頭,表示當(dāng)前分支只是特殊情況下使用,后續(xù)正式版本不再繼續(xù)維護(hù)升級;

因?yàn)樾枨笞兏?,原XXX項(xiàng)目不得不分成2個(gè)分支,分支命名為XXX_AA和XXX_BB,其中AA和BB是兩個(gè)分支的主要區(qū)別關(guān)鍵字,前面一樣,表示兩分支原屬于同一個(gè)分支節(jié)點(diǎn);若后續(xù)XXX_BB繼續(xù)拆分,則新分支為XXX_BB_CC和XXX_BB_DD,依次類推;

禁止使用XXX1 XXX2 XXX3 這種分支名,禁止設(shè)分支名為master。

個(gè)人測試或者reabse前的遠(yuǎn)程分支,原作者確認(rèn)已經(jīng)不再需要的,必須刪除遠(yuǎn)程分支,簡化版本分支樹形結(jié)構(gòu)。

1.3 注釋

修改記錄規(guī)范化是本文的重點(diǎn),注釋按如下格式編寫:

  1. [type] message 

每行內(nèi)容不超過50字, type 用于指定提交的 commit 的類別,只允許以下幾個(gè)動(dòng)詞原語:

release 發(fā)布軟件時(shí)使必須有,且在第一行,后面內(nèi)容是版本號(hào)

add 新增加的功能

fix 修復(fù)某個(gè) bug 的描述

update 升級完善原有的基礎(chǔ)功能上

change 需求變更或者實(shí)現(xiàn)的方案改變

docs 更新文檔

test 增加/修改測試示例代碼

merge/rebase在解決代碼沖突,合并分支時(shí)使用

create 初次創(chuàng)建新項(xiàng)目時(shí)使用

remove 刪減代碼時(shí)使用

patch 集成合并SDK補(bǔ)丁

message 用于指定提交的描述文字,需要注意幾個(gè)事項(xiàng)。

1、使用中文表述,描述簡潔,抓住重點(diǎn),尤其對修復(fù)的問題點(diǎn)

2、盡量以動(dòng)詞開頭,如:更新,增加,修復(fù)等

3、特別復(fù)雜的功能或流程,可描述參考某文檔,并更新上傳說明文檔,

正確的示例:

[release] 發(fā)布V1.0.0_2021

[fix] 修復(fù)登錄框顯示陰影的問題

[update] 優(yōu)化RFID卡信息讀取的驅(qū)動(dòng)

[test] 添加解碼GNSS測試功能

[remove] 刪除多余的提示框界面相關(guān)代碼

錯(cuò)誤的示例:

[fix] 修復(fù)一個(gè)大 BUG //具體是什么問題?

添加聯(lián)網(wǎng)模塊 //沒有 type [add]

[add] 更新 API 文檔接口說明 // type錯(cuò)誤,應(yīng)該是[doc]

[release] V1.0_20210220 // release必須在第一行

3、工欲善其事必先利其器

工欲善其事必先利其器,工具的熟練掌握、合理利用,修改記錄保存完整,后期檢索跟蹤問題,以及多項(xiàng)目軟件切換合并才能簡單易操作,才能保證代碼的質(zhì)量。

本文轉(zhuǎn)載自微信公眾號(hào)「嵌入式系統(tǒng)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系嵌入式系統(tǒng)公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 嵌入式系統(tǒng)
相關(guān)推薦

2011-03-15 10:00:01

NetfilterIPTables

2010-06-10 17:34:22

Linux 查看進(jìn)程

2010-06-04 09:12:23

Linux性能測試工具

2009-10-10 13:09:45

2013-10-31 10:59:41

Clouda使用

2019-09-29 14:33:30

Redis集合元素

2009-12-28 11:34:22

WPF處理消息

2010-06-03 13:49:04

Sendmail 配置

2010-05-27 14:28:41

TortoiseSVN

2009-12-15 15:13:07

.NET Framew

2009-12-21 10:10:25

Oracle產(chǎn)品

2009-12-24 16:20:43

WPF Tooltip

2010-05-27 14:02:04

SVN使用說明

2015-08-06 10:28:24

git規(guī)范流程

2018-12-07 12:30:16

CVSGit版本控制

2010-05-27 14:38:37

2010-07-28 09:49:27

FlexBuilder

2010-05-07 13:43:27

Unix Shell

2009-12-15 10:17:38

VS 2010軟件

2009-12-25 18:12:43

WPF裝飾器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)