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 <远程仓库地址或别名> <分支名> |
今天的文章Git与华为云DevCloud分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/31266.html