
# 使用前必读
欢迎使用代码托管（CodeArts Repo）。代码托管源自千亿级代码管理经验，基于Git提供企业代码托管的全方位服务，为软件开发者提供基于Git的在线代码托管服务，包括代码克隆/下载/提交/推送/比较/合并/分支/Code Review等功能。
您可以使用本文档提供的API对代码托管进行相关操作，如创建仓库、添加部署密钥、添加仓库成员等。支持的全部操作请参见[API概览](https://support.huaweicloud.com/api-codeartsrepo/codeartsrepo_05_0006.html)。
在调用代码托管的API之前，请确保已经充分了解代码托管的相关概念，详细信息请参见[产品介绍](https://support.huaweicloud.com/productdesc-codeartsrepo/codeartsrepo_01_0002.html)。
 #### 终端节点
代码托管的终端节点如[下表]所示，请您根据业务需要选择对应区域的终端节点。
 表1代码托管的终端节点 
| **区域名称** | **区域**         | **终端节点（Endpoint）**                           | **协议类型** |
|:---|:---|:---|:---|
| 华南-深圳    | cn-south-2     | codehub-ext.cn-south-2.myhuaweicloud.com     | HTTPS    |
| 华北-北京四   | cn-north-4     | codehub-ext.cn-north-4.myhuaweicloud.com     | HTTPS    |
| 华北-北京一   | cn-north-1     | codehub-ext.cn-north-1.myhuaweicloud.com     | HTTPS    |
| 华东-上海二   | cn-east-2      | codehub-ext.cn-east-2.myhuaweicloud.com      | HTTPS    |
| 西南-贵阳一   | cn-southwest-2 | codehub-ext.cn-southwest-2.myhuaweicloud.com | HTTPS    |
| 华南-广州    | cn-south-1     | codehub-ext.cn-south-1.myhuaweicloud.com     | HTTPS    |
| 华东-上海一   | cn-east-3      | codehub-ext.cn-east-3.myhuaweicloud.com      | HTTPS    |
   
#### 基本概念
- 账号 用户注册华为云时的账号，账号对其所拥有的资源及云服务具有完全的访问权限，可以重置用户密码、分配用户权限等。由于账号是付费主体，为了确保账号安全，建议您不要直接使用账号进行日常管理工作，而是创建用户并使用他们进行日常管理工作。
  
- 用户 由账号在IAM中创建的用户，是云服务的使用人员，具有身份凭证（密码和访问密钥）。
  在[我的凭证](https://console.huaweicloud.com/iam/#/myCredential)下，您可以查看账号ID和用户ID。通常在调用API的鉴权过程中，您需要用到账号、用户和密码等信息。
  
- 区域（Region） 从地理位置和网络时延维度划分，同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region，通用Region指面向公共租户提供通用云服务的Region；专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。
  详情请参见[区域和可用区](https://support.huaweicloud.com/usermanual-iaas/zh-cn_topic_0184026189.html)。
  
- 可用区（AZ，Availability Zone） 一个AZ是一个或多个物理数据中心的集合，有独立的风火水电，AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连，以满足用户跨AZ构建高可用性系统的需求。
  
- 项目
  区域默认对应一个项目，这个项目由系统预置，用来隔离物理区域间的资源（计算资源、存储资源和网络资源），以默认项目为单位进行授权，用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制，可以在区域默认的项目中创建子项目，并在子项目中购买资源，然后以子项目为单位进行授权，使得用户仅能访问特定子项目中资源，使得资源的权限控制更加精确。
  图1项目隔离模型   
  ![](https://support.huaweicloud.com/api-codeartsrepo/zh-cn_image_0000002359982236.png "点击放大")
  同样在[我的凭证](https://console.huaweicloud.com/iam/#/myCredential)下，您可以查看项目ID。
  
- Git 分布式版本管理软件，最初由Linus Torvalds创作的版本管理软件。
  
- 分支（Branching） 在版本控制与软件配置管理中，分支是由某个版本的程式码或软件物件中建立复制版本，在分支出来后的两个版本，可以独立进行修改。分支会形成树状结构，也被称为trees，streams或codelines。原始的版本，称为父分支（parent branch）或是上游分支（upstream branch）。分支出来的副本，称为子分支（Child branches）。作为最源头，没有父分支的分支，称为主干（trunk）或主线（mainline）。
  
- 修订标签 / 标签（revision tag / tag） 在版本控制系统中，对应某一项目特定修订版本的文本标签。可以让使用者针对项目的某一特定状态给予有意义的名称。一些版本控制系统的指令可以用修订标签代替修订版本标识符。在软件开发过程中，可以用修订标签来标示软件特定的软件版本周期，例如"1.2版"。
  
- 分叉(复刻/fork) 一个软件工程名词，发生在当开发人员从一个软件包拷贝了一份源代码然后在其上进行独立的开发，创建不同的软件。这个术语不只意味着版本控制上的分支，同时也意味着开发者社区的分割，是一种形式的分裂。
  在Github出现之后，fork成为常态，再加上合并请求的机制，事实上社区并未分裂，却变得更加繁荣了。
  
- 合并请求（Pull requests/merge request） 用户可以将自己的代码（在fork仓库中编写，或者在某个新的分支中编写），提出合并请求，由代码仓库的管理审核，并合入。
  
 
