TortoiseGit on 華為云DevCloud
1 文檔目的

本文檔主要幫助習慣使用圖形化工具提交代碼的開發者,如何更好的應用TortoiseGit,以及更好的將TortoiseGit與Devcloud結合應用。
對于版本管理系統的介紹和git bash的安裝使用,請查閱《Git on Devcloud》。
2 前提條件
2.1 華為云賬號
使用華為軟件開發服務,首先需要注冊一個華為云賬號。
2.2 TortoiseGit客戶端
Git客戶端有很多種類,TortoiseGit只是其中一種,開發者可以根據自己使用習慣進行選擇,華為代碼托管(CodeHub)是面向軟件開發者提供的基于Git的在線代碼托管服務,而對開發者使用的Git客戶端是沒有限制的。
2.2.1 TortoiseGit安裝
TortoiseGit是一個開放的git版本控制系統的源客戶端,支持Winxp/vista/Win7/Win10等,對于曾經使用過TortoiseSvn的用戶,界面非常熟悉易上手。
TortoiseGit同樣支持SSH和HTTPS兩種模式代碼。
本文下載安裝版本為:
2.2.2 配置個人信息
安裝完成,在開始菜單打開TortoiseGit->Settings,在彈出終端頁面按照下面操作進行個人配置。
2.2.3 本地生成SSH密鑰
使用Tortoisegit自帶的PuTTYgen,生成一對SSH密鑰,將公鑰復制粘貼到云端,將PPK格式的私鑰保存在本地。
2.2.4 復用Git Bash SSH密鑰
如果本地原來已經用Git Bash生成了一對SSH密鑰(方法見《Git on Devcloud》),TortoiseGit不想重新生成,若想復用本地原有的SSH密鑰,將本地的私鑰id_rsa轉換成ppk格式的就可以使用了。
3 CodeHub操作
3.1 新建空倉庫
在開發云代碼服務中,點擊上方“新建倉庫”按鈕
新倉庫的詳細配置如下:
新建成功
3.2 本地生成SSH密鑰并粘貼公鑰到云端
第一步:按照2.2.3或者2.2.4生成SSH密鑰對
第二步:在開發云代碼服務中,點擊右上角的“設置SSH密鑰”
第三步:繼續點擊右上角的“添加SSH密鑰”
第四步:粘貼拷貝的公鑰字符串,添加“標題”,點擊“新建”就可以了。
3.3 從云端下載HTTPS密碼到本地
第一步:在HTTPS密碼管理頁面點擊“修改”按鈕。
第二步:點擊重置,下載包含了用戶名/密碼的txt文檔,再將初始密碼修改成便于記憶的新密碼。
3.4 云端倉庫功能一覽
功能
描述
新建倉庫
用戶可以在項目中創建一個或多個代碼倉庫。
倉庫克隆
用戶可以使用克隆功能將代碼下載到本地進行開發。
分支管理
用戶開發過程中可以使用拉取分支功能進行不同特性和補丁的開發。
標簽管理
產品開發或迭代過程可以使用標簽記錄版本迭代。
分支合并
在特性或補丁開發完成后可以使用分支合并功能將特性或補丁合入主干分支。
分支保護
倉庫管理員可以使用分支保護功能控制分支的刪除和代碼提交。
提交代碼
開發過程中通過提交方式將代碼提交到倉庫中。
拉取代碼
通過拉取代碼可以獲取遠端倉庫的的最新代碼。
推送代碼
通過推送代碼功能將本地庫代碼上傳到遠端倉庫。
代碼閱讀
可以通過Web在線方式閱讀代碼。
在線修改
可以通過Web在線方式修改。
活動記錄
倉庫代碼提交、成員變更等信息都可以通過活動記錄查看,方便管理者審核或追溯代碼。
倉庫模板
提供有代表性的倉庫模板,用戶可以根據倉庫模板創建代碼倉庫。
倉庫成員管理
倉庫管理員可以設置用戶是否可以訪問倉庫并設置訪問權限。
倉庫關注
用戶可以關注經常使用的倉庫,倉庫關注后會默認排在前面方面查看。
密鑰管理
用戶默認不感知,在創建代碼檢查任務或編譯構建任務時會自動添加部署密鑰,在代碼檢查或編譯構建下載代碼時根據部署密鑰下載,部署密鑰只能用于下載代碼不能上傳代碼,保證安全性。
4 Git本地研發場景
上一節在DevCloud云端已經創建了一個只包含README文件的空倉庫,然后架構師或者項目負責人需要把本地框架代碼推送到這個空倉庫,最后,其他開發人員將云端架構代碼克隆到本地,進行增量應用開發。
Git代碼傳輸支持SSH和HTTPS兩種傳輸協議,本節基于SSH傳輸協議(密鑰對配置詳見3.2)進行的操作。如果想使用HTTPS方式,直接下載HTTPS密碼(密碼下載詳見3.3),當克隆、推送代碼時直接輸入HTTPS用戶名密碼即可。注意:同一倉庫SSH和HTTPS的地址不同。
4.1 推送架構代碼
4.1.1 初始化本地倉庫
打開本地架構代碼,確保根目錄名(DevCloud)與云端創建的代碼倉庫名一致,在根目錄下右鍵選擇“Git Create repository here…”,初始化一個空git倉庫,執行該操作后,可以看到在D:/code/DevCloud/下多了一個.git文件夾。
4.1.2 關聯云端代碼倉庫
在本地D:/code/DevCloud/文件夾下右鍵選擇TortoiseGit->Settings,按下圖進行填寫,將本地倉庫關聯到云端代碼托管平臺
#倉庫地址“CodeHubUrl”按下圖方法獲取,例如:
4.1.3? 推送本地代碼到云端
?? 在本地D:/code/DevCloud/文件夾下右鍵選擇TortoiseGit->Add…,勾選需要添加到git版本管理庫的代碼
?? 右鍵選擇“Git commit->master…”
?? 右鍵選擇“TortoiseGit->pull…”
?? 右鍵選擇“TortoiseGit->push…”
4.2 克隆代碼
開發人員在本地準備克隆云端架構代碼。在準備把代碼克隆到的目標文件夾下,右鍵選擇“Git Clone…”
4.3 代碼提交
一次修改被成功提交到遠端倉庫會歷經四個階段,1本地工作區->2緩存區->3版本庫->4遠端版本庫,如下圖所示。
#TortoiseGit->Add…? ??????//將新增、修改或者刪除的文件增加到暫存區
# Git Commit->Master…? ???//將已暫存的文件提交到本地倉庫
# TortoiseGit->push…? ?????//將本地代碼倉庫修改推送到遠端倉庫
5 使用舉例
場景:分別在本地feature分支和master分支提交代碼,然后想將feature分支的修改merge到master分支。可是由于兩個分支上的提交修改了同一行代碼,所以merge產生了沖突,需要手動解決。
說明:如果沒有沖突,merge自動完成。
5.1 新建feature分支
5.2 在feature分支提交代碼
5.3 切換到master分支
5.4 在master分支提交代碼
5.5 從feature分支向master分支合并
5.6 沖突提示
5.7 本地編輯手動解決沖突
5.8 合并結果推送到開發云平臺
6 FAQ
6.1 華為云社區Devcloud產品答疑FAQ?????????? http://forum.huaweicloud.com/forum-642-1.html
7 附錄
7.1 軟件開發云(DevCloud)用戶指南
1、視頻教程
【新手訓練營】幾分鐘教你掌握各個服務基本操作
項目管理? 配置管理? 流水線? 代碼檢查? 編譯構建? 測試管理? 部署? 發布
【云途進階課】場景化教學,從實戰中玩轉軟件開發云
Web應用場景——開發一套EHR系統:規劃階段 ?開發階段? 交付階段
App應用場景——打造一款趣味交友App:規劃階段 ?開發階段? 交付階段
遷移上云秘籍
1、從SVN遷移到GIT最強指南
2、為何選擇Git版本控制系統
3、Git的工作模式
4、如何將本地代碼提交到托管平臺
git 軟件開發平臺 DevCloud 軟件開發云
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。