TortoiseGit on 华为云DevCloud

1文档目的

本文档主要帮助习惯使用图形化工具提交代码的开发者,如何更好的应用TortoiseGit,以及更好的将TortoiseGit与Devcloud结合应用。

对于版本管理系统的介绍和git bash的安装使用,请查阅《Git on Devcloud》。

2前提条件

2.1华为云账号

使用华为云软件开发服务,首先需要注册一个华为云账号。

2.2TortoiseGit客户端

Git客户端有很多种类,TortoiseGit只是其中一种,开发者可以根据自己使用习惯进行选择,华为代码托管(CodeHub)是面向软件开发者提供的基于Git的在线代码托管服务,而对开发者使用的Git客户端是没有限制的。

2.2.1TortoiseGit安装

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格式的就可以使用了。

3CodeHub操作

3.1新建空仓库

在开发云代码服务中,点击上方“新建仓库”按钮

新仓库的详细配置如下:

新建成功

3.2本地生成SSH密钥并粘贴公钥到云端

第一步:按照2.2.3或者2.2.4生成SSH密钥对

第二步:在开发云代码服务中,点击右上角的“设置SSH密钥”

第三步:继续点击右上角的“添加SSH密钥”

第四步:粘贴拷贝的公钥字符串,添加“标题”,点击“新建”就可以了。

3.3从云端下载HTTPS密码到本地

第一步:在HTTPS密码管理页面点击“修改”按钮。

第二步:点击重置,下载包含了用户名/密码的txt文档,再将初始密码修改成便于记忆的新密码。

3.4云端仓库功能一览

4Git本地研发场景

上一节在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版本管理库的代码

Ø右键选择“Gitcommit->master…”

Ø右键选择“TortoiseGit->pull…”

Ø右键选择“TortoiseGit->push…”

4.2克隆代码

开发人员在本地准备克隆云端架构代码。在准备把代码克隆到的目标文件夹下,右键选择“GitClone…”

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合并结果推送到开发云平台

6FAQ

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、如何将本地代码提交到托管平台

你可能感兴趣的:(TortoiseGit on 华为云DevCloud)