Git与华为云DevCloud

华为云 同时被 3 个专栏收录
4 篇文章 0 订阅
5 篇文章 0 订阅
1 篇文章 0 订阅

1、服务概述

代码托管(CodeHub)是遵循Git的基本运行模式的分布式版本管理平台,其具备安全

管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能,旨在解决软件开

发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题。

如果您计划开始一个新项目,那么您可以选择使用代码托管内置的仓库模板创建仓库

并开始开发,流程请参见从云端开始研发项目

如果您本地正在开发一个项目,想使用代码托管服务来管理版本,可以将项目迁移到

云端,流程请参见将本地项目迁移到云端

从云端开始研发项目 

如果您全新开始一个项目,那么您可以选择使用代码托管服务为您提供的仓库模板来

创建项目并开始开发,其使用流程如下。

 

 

2、按模板新建仓库

使用代码托管服务提供的模板新建仓库,适用于本地没有仓库,希望按模板初始化一

个仓库的情景。在代码托管服务控制台按模板新建仓库的步骤如下:

步骤1

进入代码托管服务首页(注意切换到您对应的区域)。

步骤2

单击“普通新建”,在扩展框中选择“按模板新建”,弹出“选择模板”页面。

 

步骤3

“选择模板”页面支持模糊查询,根据您的需求选中某个模板(普通新建)
进入“按模板新建仓库-详情”页面,填写仓库基本信息。

按模板新建仓库的参数说明

 

步骤4 

点击确定完成


仓库成员管理

 

仓库成员管理功能位于仓库详情的“成员列表”页签。

只有仓库创建者(所有者)、仓库管理员才能对仓库人员进行变动,其他人员只能浏览仓库成员列表如 

 

1、设置进入

 

2、仓库进入

 

进入后先完成添加成员操作

项目下成员同步策略

 

说明

●项目经理会默认成为仓库的管理员。

● 如果想将项目经理移出仓库,需要前往项目的设置中,调整其角色。

● 当“项目下成员同步策略”勾选了相关人员自动同步策略,有用户加入到项目时会自动同步

进入仓库。

● 去除勾选“项目下成员同步策略”,使用“立即同步”按钮,会立即移除相关人员。

仓库成员权限

仓库创建的权限

仓库内操作、浏览的权限

 

 

3、克隆/下载云端仓库到本地

概述

首次将仓库克隆/下载到本地的方式主要分为以下三种:

1使用SSH协议克隆云端仓库到本地;

2 使用HTTPS协议克隆云端仓库到本地;

3 从浏览器下载代码包;

使用HTTPS协议克隆云端仓库到本地

步骤一、下载Git Bash客户端

步骤二、设置HTTPS密码

什么是 SSH 密钥/HTTPS 密码:

当您需要将代码推送到云端仓库或从云端仓库下拉代码时,云端仓库需要验证您的身份与权限,SSH和HTTPS是对代码托管服务进行远程访问的两种身份验证方式。

SSH密钥是在本地计算机与您账号下的代码托管服务之间建立安全连接。

在一台本地计算机上配置了SSH密钥并添加公钥到代码托管服务中后,所有该账

号下的代码仓库与该台计算机之间都可以使用该密钥进行连接。

不同的用户通常使用不同的电脑,在使用SSH方式连接代码仓库前需要在自己电

脑生成自己的SSH密钥,并设置到代码托管服务中。

HTTPS密码是HTTPS协议方式下载、上传时使用的用户凭证。

每个开发者,只需要设置一次密码,所有该项目下的仓库都会生效。

在本产品中,HTTPS协议所支持的单次推包大小为500M,需传输大于500M时,

请使用SSH方式。

说明:

使用其中任何一种方式都可以进行代码的上传下载,密钥(密码)的设置根据您选择的连接方式设定即可。
设置HTTPS密码步骤

 

 

步骤三、获取仓库地址

 

仓库地址

 

步骤四、打开Git Bash客户端

在本地计算机上新建一个文件夹用于存放代码仓库,在空白处单击鼠标右键,打开Git Bash客户端。

说明:克隆仓库时会自动初始化,无需执行init命令。

步骤五、输入如下命令,克隆云端仓库。

git clone 仓库地址

命令中“仓库地址”即步骤3中获取的SSH/HTTPS地址。

(SSH)如果您是第一次克隆仓库,会询问您是否信任远程仓库,输入“yes”即可。

执行成功后,您会看到多出一个与您在云端新建的仓库同名的文件夹,并且其中有一个隐藏的.git文件夹,则说明克隆仓库成功。
(HTTPS)打开Git Bash客户端进入您的目录下,输入以下命令进行仓库克隆,其中第一次克隆需要您填写用户名(账号名/用户名)和HTTPS密码。

git clone <您的HTTPS下载链接>

 

 

步骤六、此时您位于仓库上层目录,执行如下命令,进入仓库目录。

cd 仓库名称

进入仓库目录,可以看到此时Git默认为您定位到master分支。

 

--结束

说明:

客户端在git clone 代码仓库时失败的原因排查:

确保您的网络可以访问代码托管服务。

请在git客户端使用如下测试命令验证网络连通性。

ssh -vT git@codehub.devcloud.huaweicloud.com

如果返回内容含有“connect to host codehub.devcloud.huaweicloud.com port 22:

Connection timed out”,如下图所示,则您的网络被限制,无法访问代码托管服务,请求助您本地所属网络管理员。

 

4、提交代码到云端

操作步骤
一般情况下,开发者不会直接在master分支中进行开发,而是基于master或者dev分支创建一条feature分支,在feature中进行开发,然后将其推送到云端仓库,最后在云端仓库中将其合并到master或dev分支中,下面我们将模拟以上操作。

①.进入本地仓库目录,打开Git客户端,本案例以Git Bash为例,其它使用Git进行管理的工具的原理和命令使用基本是一致的。

②.基于master分支新建一条分支feature1001,并切换到其中,在master分支中执行以下命令。

git checkout -b feature1001 #如下图①

这个命令相当于先新建分支,然后直接切换到此分支。

执行成功如下图中②所示,此时可用ls命令查看其中包含的文件(如下图中③),此时他与master分支中内容是一样的。

 

③.在feature分支中进行修改(代码开发)。

Git是支持Linux命令的,本案例我们用touch命令新建一个newFeature1001.html文件,代表开发者已经在本地完成了新特性的开发,其对本地代码库的影响是新增了文

件。

touch newFeature1001.html

创建后再次使用ls命令可以看到多出了这个文件。

④.使用add、commit命令依次将文件从工作区加入暂存区,再提交到本地版本库。

期间可以穿插使用status命令,观察文件状态。

1.使用status命令看到,目前工作区有一个文件未纳入版本管理,如图中①。

2.使用add命令将文件加入暂存区,如图中②。

git add . #使用“.”代表所有文件,包括隐藏的,也可以直接指定某个文件

3.使用status命令看到,文件已经加入到暂存区,正在等待提交的状态是绿色(参考①红色)。

4.使用commit命令将文件提交到本地版本库,如图中③。

git commit -m “您的提交备注”

5.再次查看状态,没有可处置文件,说明提交成功了,如图中④。

 

⑤将本地的分支推送到远程云端仓库。

git push --set-upstream origin feature1001

本命令会在云端仓库新建一条与您本地feature1001一样的分支,并将其进行关联、同步。

其中origin是您的远端仓库别名,一般直接可控的仓库默认别名为origin,您也可以直接用仓库地址代替。

查看云端分支:如下图

5、分支管理合并审查

什么是分支

分支是版本管理工具中最常用的一种管理手段,使用分支可以把项目开发中的几项工作彼此隔离开来使其互不影响,当需要发布版本之前再通过分支合并将其进行整合。

在代码托管服务/Git仓库创建之初都会默认生成一条名为master的分支,一般作为最新版本分支使用,开发者可以随时手动创建自定义分支以应对实际开发中的个性场景。

关于分支的常用 Git 命令

新建分支

git branch <分支名称> #在本地仓库基于目前的工作区,创建一条分支

切换分支

git checkout <分支名称> #切换到指定分支

新建并直接切换到新建的分支
有一种快速的操作办法,可以直接新建并切换到新建出来的分支,其用法如下:

git checkout -b <分支名称> #在本地仓库基于目前的工作区,创建一条分支,并直接切换到该分支

查看分支

我们可以使用对应的命令查看本地仓库的分支、远程长仓库的分支,亦或是全

部,这组命令只是将分支名称罗列,如果想查看分支内的具体文件,请使用 切换分支。

git branch #查看本地仓库分支

git branch -r #查看远程仓库分支

git branch -a #同时查看本地仓库与远程仓库的分支

合并分支

当一条分支上的开发任务完成了,有时需要将其合并到另一条分支,以做功能归

档,分支合并可以理解为将另一条分支最新的修改同步到当前所处分支,其用法

如下:

git merge <要合并过来的分支的名字> #将一条分支合并到当前的分支中

分支合并前一般要先切换到被合入的分支,下面以将branch002 合入到master分支为例进行演示:

git checkout master #切换到master分支

git merge branch002 #将名为 branch002 的分支合入到master分支

Ø解决冲突

冲突的表现

 

冲突的解决

第一步:编辑文件,删除特殊符号

第二步:把文件修改到满意的程度,保存退出

第三步:git add [文件名]

第四步:git commit -m “日志信息”

注意: 此时commit 一定不能带具体文件名

删除本地分支

git branch -d <分支名>

删除远程仓库分支

git push <远程仓库地址或别名> -d <分支名>

将本地新建的分支推送到远程仓库

git push <远程仓库地址或别名> <分支名>

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

爱上草莓

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值