1文檔目的
本文檔主要幫助習(xí)慣使用圖形化工具提交代碼的開發(fā)者,如何更好的應(yīng)用TortoiseGit,以及更好的將TortoiseGit與Devcloud結(jié)合應(yīng)用。
對于版本管理系統(tǒng)的介紹和git bash的安裝使用,請查閱《Git on Devcloud》。
使用華為云軟件開發(fā)服務(wù),首先需要注冊一個華為云賬號。
Git客戶端有很多種類,TortoiseGit只是其中一種,開發(fā)者可以根據(jù)自己使用習(xí)慣進(jìn)行選擇,華為代碼托管(CodeHub)是面向軟件開發(fā)者提供的基于Git的在線代碼托管服務(wù),而對開發(fā)者使用的Git客戶端是沒有限制的。
TortoiseGit是一個開放的git版本控制系統(tǒng)的源客戶端,支持Winxp/vista/Win7/Win10等,對于曾經(jīng)使用過TortoiseSvn的用戶,界面非常熟悉易上手。
TortoiseGit同樣支持SSH和HTTPS兩種模式代碼。
本文下載安裝版本為:

安裝完成,在開始菜單打開TortoiseGit->Settings,在彈出終端頁面按照下面操作進(jìn)行個人配置。

使用Tortoisegit自帶的PuTTYgen,生成一對SSH密鑰,將公鑰復(fù)制粘貼到云端,將PPK格式的私鑰保存在本地。




如果本地原來已經(jīng)用Git Bash生成了一對SSH密鑰(方法見《Git on Devcloud》),TortoiseGit不想重新生成,若想復(fù)用本地原有的SSH密鑰,將本地的私鑰id_rsa轉(zhuǎn)換成ppk格式的就可以使用了。





在開發(fā)云代碼服務(wù)中,點(diǎn)擊上方“新建倉庫”按鈕

新倉庫的詳細(xì)配置如下:

新建成功

第一步:按照2.2.3或者2.2.4生成SSH密鑰對
第二步:在開發(fā)云代碼服務(wù)中,點(diǎn)擊右上角的“設(shè)置SSH密鑰”

第三步:繼續(xù)點(diǎn)擊右上角的“添加SSH密鑰”

第四步:粘貼拷貝的公鑰字符串,添加“標(biāo)題”,點(diǎn)擊“新建”就可以了。

第一步:在HTTPS密碼管理頁面點(diǎn)擊“修改”按鈕。

第二步:點(diǎn)擊重置,下載包含了用戶名/密碼的txt文檔,再將初始密碼修改成便于記憶的新密碼。


4Git本地研發(fā)場景
上一節(jié)在DevCloud云端已經(jīng)創(chuàng)建了一個只包含README文件的空倉庫,然后架構(gòu)師或者項目負(fù)責(zé)人需要把本地框架代碼推送到這個空倉庫,最后,其他開發(fā)人員將云端架構(gòu)代碼克隆到本地,進(jìn)行增量應(yīng)用開發(fā)。
Git代碼傳輸支持SSH和HTTPS兩種傳輸協(xié)議,本節(jié)基于SSH傳輸協(xié)議(密鑰對配置詳見3.2)進(jìn)行的操作。如果想使用HTTPS方式,直接下載HTTPS密碼(密碼下載詳見3.3),當(dāng)克隆、推送代碼時直接輸入HTTPS用戶名密碼即可。注意:同一倉庫SSH和HTTPS的地址不同。

打開本地架構(gòu)代碼,確保根目錄名(DevCloud)與云端創(chuàng)建的代碼倉庫名一致,在根目錄下右鍵選擇“Git Create repository here…”,初始化一個空git倉庫,執(zhí)行該操作后,可以看到在D:/code/DevCloud/下多了一個.git文件夾。

在本地D:/code/DevCloud/文件夾下右鍵選擇TortoiseGit->Settings,按下圖進(jìn)行填寫,將本地倉庫關(guān)聯(lián)到云端代碼托管平臺

#倉庫地址“CodeHubUrl”按下圖方法獲取,例如:

?在本地D:/code/DevCloud/文件夾下右鍵選擇TortoiseGit->Add…,勾選需要添加到git版本管理庫的代碼

?右鍵選擇“Gitcommit->master…”

?右鍵選擇“TortoiseGit->pull…”

?右鍵選擇“TortoiseGit->push…”

開發(fā)人員在本地準(zhǔn)備克隆云端架構(gòu)代碼。在準(zhǔn)備把代碼克隆到的目標(biāo)文件夾下,右鍵選擇“GitClone…”

一次修改被成功提交到遠(yuǎn)端倉庫會歷經(jīng)四個階段,1本地工作區(qū)->2緩存區(qū)->3版本庫->4遠(yuǎn)端版本庫,如下圖所示。
#TortoiseGit->Add… //將新增、修改或者刪除的文件增加到暫存區(qū)
#Git Commit->Master… //將已暫存的文件提交到本地倉庫
#TortoiseGit->push… //將本地代碼倉庫修改推送到遠(yuǎn)端倉庫

場景:分別在本地feature分支和master分支提交代碼,然后想將feature分支的修改merge到master分支??墒怯捎趦蓚€分支上的提交修改了同一行代碼,所以merge產(chǎn)生了沖突,需要手動解決。
說明:如果沒有沖突,merge自動完成。















6.1華為云社區(qū)Devcloud產(chǎn)品答疑FAQ
http://forum.huaweicloud.com/forum-642-1.html
7.1軟件開發(fā)服務(wù)(DevCloud)用戶指南
1、視頻教程
【新手訓(xùn)練營】幾分鐘教你掌握各個服務(wù)基本操作
項目管理配置管理流水線代碼檢查編譯構(gòu)建測試管理部署發(fā)布
【云途進(jìn)階課】場景化教學(xué),從實戰(zhàn)中玩轉(zhuǎn)軟件開發(fā)云
Web應(yīng)用場景——開發(fā)一套EHR系統(tǒng):規(guī)劃階段開發(fā)階段交付階段
App應(yīng)用場景——打造一款趣味交友App:規(guī)劃階段開發(fā)階段交付階段
3、Git的工作模式