Git概述
從狹義上來說,版本控制系統(tǒng)是軟件項(xiàng)目開發(fā)過程中管理代碼所有修訂版本的軟件,能夠存儲(chǔ)、追蹤文件的修改歷史,記錄多個(gè)版本的開發(fā)和維護(hù),事實(shí)上我們可以將任何對(duì)項(xiàng)目有幫助的文檔交付版本控制系統(tǒng)進(jìn)行管理。版本控制系統(tǒng)(Version Control Systems)主要分為兩類,集中式和分布式。
版本控制系統(tǒng)
集中式版本控制系統(tǒng)
集中式版本控制系統(tǒng)的特點(diǎn)是只有一臺(tái)中央服務(wù)器,存放著所有研發(fā)數(shù)據(jù),而其它客戶端機(jī)器上保存的是中央服務(wù)器最新版本的文件快照,不包括項(xiàng)目文件的變更歷史。所以,每個(gè)相關(guān)人員工作開始前,都需要從這臺(tái)中央服務(wù)器同步最新版本,才能開始工作
常見的集中式版本控制系統(tǒng)為CVS、VSS、SVN、ClearCase。
集中式版本控制系統(tǒng)的優(yōu)點(diǎn)與缺點(diǎn)如下:
|
優(yōu)點(diǎn)
|
缺點(diǎn)
|
|---|---|
操作簡(jiǎn)單,使用沒有難度,可輕松上手。 文件夾級(jí)權(quán)限控制,權(quán)限控制粒度小。 對(duì)客戶端配置要求不高,無需存儲(chǔ)全套代碼。 |
網(wǎng)絡(luò)環(huán)境要求高,相關(guān)人員必須聯(lián)網(wǎng)才能工作。 中央服務(wù)器的單點(diǎn)故障影響全局,如果服務(wù)器宕機(jī),所有人都無法工作。 中央服務(wù)器在沒有備份的情況下,磁盤一旦被損壞,將丟失所有數(shù)據(jù)。 |
分布式版本控制系統(tǒng)
分布式版本控制系統(tǒng)的特點(diǎn)是每個(gè)客戶端都是代碼倉(cāng)庫(kù)的完整鏡像,包括項(xiàng)目文件的變更歷史。所有數(shù)據(jù)分布的存儲(chǔ)在每個(gè)客戶端,不存在中央服務(wù)器??赡苡腥藭?huì)問,我們公司使用Git分布式存儲(chǔ)工具,也有“中央服務(wù)器”啊?其實(shí),這個(gè)所謂的“中央服務(wù)器”僅僅是用來方便管理多人協(xié)作,任何一臺(tái)客戶端都可以勝任它的工作,它和所有客戶端沒有本質(zhì)區(qū)別。
常見的分布式版本控制系統(tǒng)為Git、Mercurial、Bazaar、Bitkeeper。
分布式版本控制系統(tǒng)的優(yōu)點(diǎn)與缺點(diǎn)如下
|
優(yōu)點(diǎn)
|
缺點(diǎn)
|
|---|---|
版本庫(kù)本地化,版本庫(kù)的完整克隆,包括標(biāo)簽、分支、版本記錄等。 支持離線提交,適合跨地域協(xié)同開發(fā)。 分支切換快速高效,創(chuàng)建和銷毀分支廉價(jià)。 |
學(xué)習(xí)成本高,不容易上手。 只能針對(duì)整個(gè)倉(cāng)庫(kù)創(chuàng)建分支,無法根據(jù)目錄建立層次性的分支。 |
代碼托管服務(wù)云端操作
云端倉(cāng)庫(kù)功能
云端倉(cāng)庫(kù)功能支持新建倉(cāng)庫(kù)、倉(cāng)庫(kù)克隆、分支管理、標(biāo)簽管理、提交代碼、拉取代碼、推送代碼、代碼閱讀、在線修改、倉(cāng)庫(kù)成員管理、密鑰管理等。
新建空倉(cāng)庫(kù)
1、在目標(biāo)項(xiàng)目下的代碼托管服務(wù)中,單擊“普通新建”按鈕。
2、填寫倉(cāng)庫(kù)的基本信息。
3、單擊“確定”按鈕,完成倉(cāng)庫(kù)新建,跳轉(zhuǎn)到倉(cāng)庫(kù)列表。
設(shè)置SSH密鑰/HTTPS密碼
后續(xù)需要在本地客戶端進(jìn)行代碼倉(cāng)庫(kù)的克隆/推送,SSH密鑰和HTTPS密碼是客戶端和服務(wù)端交互的憑證,需要先對(duì)它們進(jìn)行設(shè)置。
設(shè)置SSH密鑰
SSH密鑰是使用SSH協(xié)議和代碼托管服務(wù)端交互的憑證,如果您使用windows下的Git Bash客戶端并在其中已經(jīng)生成,此步驟可以略過。
1、打開Git客戶端(Git Bash或linux的命令行窗口),輸入以下命令行:ssh-keygen -t rsa -C "<您的郵箱>",然后輸入3個(gè)回車(Enter鍵)即可,生成的SSH秘鑰對(duì)默認(rèn)在“~/.ssh/id_rsa、~/.ssh/id_rsa.pub”位置。
2、添加SSH密鑰到代碼托管服務(wù)端:
打開Git客戶端(Git Bash或linux的命令行窗口),將SSH密鑰“~/.ssh/id_rsa.pub”的內(nèi)容打印出來。
3、復(fù)制上述的SSH密鑰內(nèi)容,登錄您的代碼托管服務(wù)倉(cāng)庫(kù)列表頁(yè),單擊右上角昵稱,單擊“個(gè)人設(shè)置 > SSH密鑰管理”,進(jìn)入頁(yè)面。
4、在“SSH密鑰管理”頁(yè)面,單擊“添加SSH密鑰”,彈出“添加SSH密鑰”頁(yè)面,填寫下圖中信息,單擊“確定”,頁(yè)面會(huì)提示您操作成功。
設(shè)置HTTPS密碼
HTTPS密碼是使用HTTPS協(xié)議和代碼托管服務(wù)端交互的憑證,設(shè)置步驟如下:
1、登錄您的代碼托管服務(wù)倉(cāng)庫(kù)列表頁(yè),單擊右上角昵稱,單擊“個(gè)人設(shè)置 > HTTPS密鑰管理”,進(jìn)入頁(yè)面。
2、單擊“自行設(shè)置密碼”,再單擊“修改”進(jìn)入“重設(shè)密碼”頁(yè)面。(如果您之前自主設(shè)置過HTTPS密碼并正在使用,直接單擊“修改”)。
3、填寫新密碼與郵箱驗(yàn)證碼,勾選“我已閱讀并同意 《隱私政策聲明》 和 《CodeArts服務(wù)使用聲明》”,單擊“保存”,頁(yè)面會(huì)提示您操作成功。
Git本地研發(fā)場(chǎng)景
背景介紹
CodeArts Repo現(xiàn)有遷倉(cāng)能力只支持公網(wǎng)之間遷移,缺少客戶內(nèi)網(wǎng)自建代碼托管平臺(tái)往Repo遷移的快速方案,因此提供批量遷移內(nèi)網(wǎng)代碼托管平臺(tái)倉(cāng)庫(kù)到Repo的腳本。
代碼托管服務(wù)常見問題
代碼托管服務(wù)常見問題
代碼托管服務(wù)精選推薦
1對(duì)1咨詢專屬顧問
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1