Function Overview
-
Branch Management
-
You can use branches to isolate tasks in project development and merge them before releasing a version.
On a CodeArts Repo or Git repository, a master branch is created by default and used as the latest version branch. You can create branches for different requirements/scenarios feature development at any time.
Displayed on the management console.
-
-
Tag Management
-
Tags are provided by Git to manage versions. You can use Git tags to mark commits to manage important versions in a project and accurately search for earlier versions.
A tag points to a commit and does not change. It can be seen as a version snapshot that is permanently saved (it can only be manually deleted).
You can search for earlier versions according to the commit ID. However, the commit ID is a long string of codes and is not identifiable. In this case, you can set a memorable tag name (for example, myTag_V1.0.0 or FirstCommercialVersion).
Displayed on the management console.
-
-
Commit Graph
-
A commit graph displays the entire commit history (including the action, time, committer, and commit message) of a branch or tag and the relationship between the commits in the form of a flow chart.
Compared with the History tab page under the Files tab page, the commit graph can display the relationship between commits.
Displayed on the management console.
-
-
Version Management
-
Version management is one of the basic functions of CodeArts Repo.
You can record, track, maintain, and control the changes of a product or system.
Version management functions include but are not limited to branches, tags, and comparison.
Displayed on the management console.
-
Comparison
-
Comparison provides an intuitive display of code differences among versions, which streamline your version management.
On the repository console, you can compare the code differences of any branch, tag, or commit. Changes are displayed in different styles, helping you quickly spot what is updated, added, and deleted.
Displayed on the management console.
-
-
Fork
-
You can fork a CodeArts Repo repository based on an image repository, make changes to the fork, and merge the changes to the source repository. Before changes are merged, the changes of the fork or the source repository will not affect each other.
Fork is custom-made to team collaboration and tailored for scenarios where a large-scale project contains multiple sub-projects. Complex development processes occur only in image repositories and do not affect the project repository (source repository). Only confirmed new features will be merged to the project repository.
Displayed on the management console.
-
-
Backup
-
It refers to backing up a repository to your local computer. You can use either HTTPS or SSH clone mode to generate the clone command. You only need to paste the command to the local Git client and run it. (Ensure the repository connectivity.)
Displayed on the management console.
-
-
Cherry-Pick
-
Cherry-pick picks a commit and applies it to a version.
Git cherry-pick is very useful when you need to merge a commit from a branch, rather than the whole branch, to a local branch.
Displayed on the management console.
-
-
-
Repository Creation/Import
-
CodeArts Repo provides three repository creation methods:
1.Create an empty repository (synchronizing a local repository to the cloud).2.Create a repository using a CodeArts Repo built-in template (when no local repository is available).
Displayed on the management console.
-
-
Routine Development
-
CodeArts Repo allows developers to modify code, handle code conflicts, view commit history, and comment on commits.
In addition, developers can download code to a local directory or commit code to the cloud.
Displayed on the management console.
-
Committing and Downloading Code
-
CodeArts Repo allows you to modify code on the console or on a local computer.
You can synchronize code between the cloud and local PC through uploading and downloading.
CodeArts Repo provides multiple upload and download modes.
Displayed on the management console.
-
-
Modifying Code Online
-
You can log in to the console to modify code through the Internet anytime and anywhere, speeding up issue resolving and improving operation flexibility.
Displayed on the management console.
-
-
Resolving Merge Conflicts
-
When using CodeArts Repo, you may encounter the situation where two members modify a file at the same time and code fails to be pushed to a CodeArts Repo repository due to the code commit conflict.
To resolve the conflict, pull the remote repository to the working directory in the local repository. Git will merge the changes and display the conflicting file content that cannot be merged. Then, modify the conflicting content and push it to the remote repository again (by running the add, commit, and push commands in sequence).
CodeArts Repo supports resolving conflicts online or locally as mentioned above.
Displayed on the management console.
-
-
Viewing and Commenting Commit History
-
CodeArts Repo allows you to view details about the commit history and related file changes.
You can view the commit history on the History tab page of the Files or Commit Graph of a repository. You can click a commit record to view the committer, commit number, parent node, number of comments, and code change comparisons.
You can comment on a commit or reply a comment.
Displayed on the management console.
-
-
-
Associated Work Items
-
CodeArts Repo can associate each code commit with a work item of CodeArts Req.
Associated work items help developers accurately record tasks for fixing bugs and developing new features.
Associated work items allow project managers to view information such as change committer and committed content involved in each requirement and bugfix.
On the CodeArts Repo console, a changed file can be saved only after you enter a commit message. Each saving operation is a commit, and the mandatory commit message corresponds to the -m section in the commit command. CodeArts Repo automatically associates work items with code by capturing keywords from the -m section (commit_message).
Displayed on the management console.
-
-
Merge Request Review
-
CodeArts Repo supports multi-branch development and establishes configurable review rules for branch merge. When you create a branch merge request, all repository members can review the code to be merged.
Reviewers and mergers will be notified via email or SMS message upon a merge request.
Displayed on the management console.
-
-
Development Management
-
CodeArts Repo provides various configuration items on repository and R&D management.
These items include repository information, notifications, repository locking, default branch, code commit rules, space freeing, and protected branches.
Displayed on the management console.
-
Default Branch
-
The default branch is the branch selected by default when you enter the current repository and is also the default target branch when you create a merge request. When a repository is created, the master branch is used as the default branch and you can adjust the default one at any time.
Displayed on the management console.
-
-
Commit Rule
-
You can configure commit rules as part of repository management. The configuration items include but are not limited to: allowing unsigned commits, allowing deleting a branch remotely, allowing committing secrets, and configuring comment matching rules, prohibited file types, and branch naming rules.
Displayed on the management console.
-
-
Notification Settings
-
You can set whether to send notifications to repository members in the following scenarios:
Repository freezing: By default, email notifications are sent to the repository owners and administrators, which cannot be manually configured.
If a repository is in arrears for a period longer than the grace period but within the retention period, the repository will be frozen and no operation can be performed on the frozen repository. (Learn more about the grace period and retention period.)
You can unfreeze a repository by renewing it.
Repository closing: By default, email notifications are sent to the repository owners and administrators, which cannot be manually configured.
Closing a repository is equivalent to deleting it permanently. A repository may be closed in either of the following scenarios:
The service is manually disabled.
The freezing period of a repository exceeds the retention period.
Merge request: By default, email notifications are sent to mergers and reviewers, which cannot be manually configured. (Learn more about merge request.)
Repository deletion: You can manually configure whether to sent email notifications to the repository owners, administrators, developers, and viewers when a repository is deleted.
Displayed on the management console.
-
-
Protected Branch
-
Branch protection has the following functions:
- Secure the branch and allow developers to use merge requests to merge code.
- Prevent non-administrators from pushing codes.
- Prevent all forcibly push to this branch.
- Prevent anyone from deleting this branch.
On the Protected Branches page, you can configure a specified branch to limit it using any of the following rules:
- Whether an administrator has the commit permission.
- Whether a developer has the commit permission.
- Whether an administrator has the merge permission.
- Whether a developer has the merge permission.
Displayed on the management console.
-
-
Setting a Merge Request Rule
-
The merge request rules you set take effect in merge request review. The parameters are described as follows:
Creators cannot merge merge requests: If this option is selected, creators cannot merge their own branches.
Closed merge requests cannot be re-opened: If this option is selected, closed merge requests cannot be set to Open.This parameter is generally used for project process control to prevent historical reviews from being tampered with.
Merge after complete resolution: After this option is enabled, a branch can be merged only after all discussions marked as issues are solved.
Delete source branch after merge: After this option is enabled, the source branch is deleted after successful merge.
- A protected source branch cannot be deleted.
- This setting does not take effect for historical merge requests. Therefore, you do not need to worry about branch loss.
Displayed on the management console.
-
-
Member and Permission Management
-
Repository members are members of the project to which the repository belongs. Project members are IAM users. In addition to the account of the project creator, IAM users of other accounts can be invited to join the project. Only the repository creator (owner) and repository administrator can manage repository members. Other members can only view the repository member list.
Displayed on the management console.
-
-
Locking a Repository as an Administrator
-
When a new software version is ready for release, administrators can lock the repository to protect it from damage. After the repository is locked, no one (including the administrators) can commit code to any of its branches.
Displayed on the management console.
-
-
-
Security Policies
-
- CodeHub provides the IP address whitelists, SSH key, and HTTPS password for secure access control.
- Operations on repositories are logged.
Displayed on the management console.
-
IP Address Whitelist
-
IP address whitelists enhance repository security by restricting access to repositories by IP address. Only access from IP addresses in the whitelist is allowed.
Displayed on the management console.
-
-
SSH Keys and HTTPS Passwords
-
When you push code to or pull code from a cloud repository, the cloud repository will verify your identity and permissions. SSH and HTTPS are two authentication modes for remote access to CodeArts Repo.
An SSH key establishes a secure connection between your local computer and CodeArts Repo under your account.
After you configure an SSH key on a local computer and add the public key to CodeArts Repo, you can use the SSH key to access all code repositories under your account from your computer.
Before connecting to CodeArts Repo in SSH mode, generate an SSH key on your computer and configure it in CodeArts Repo.
An HTTPS password is a user credential for downloading and uploading files through HTTPS.
Each developer only needs to set one password for all repositories in a project.
Displayed on the management console.
-
-
Risky Operations
-
Currently, the risky operations that administrators can perform include:
- Transfer the repository ownership.
- Delete a repository.
- Rename a repository.
Displayed on the management console.
-
-
Deploy Keys
-
Deploy keys allow you to clone repositories with read only access over SSH. They are used in scenarios such as repository deployment and continuous integration. The deploy key is the public key of the SSH key generated locally. However, the deploy keys and SSH keys of a repository cannot be the same. Multiple repositories can use the same deploy key, and a maximum of 10 deploy keys can be added to a repository.
Displayed on the management console.
-
-
Operation Logs
-
You can query logs by operation time, operator, operation content, branch, or tag.
Displayed on the management console.
-
-
-
Advanced Functions
-
CodeArts Repo supports submodules, repository migration and backup, and repository statistics.
Displayed on the management console.
-
Submodule
-
The submodules tool is a Git-based repository management tool that greatly improves efficiency. Submodules allow you to keep a shared repository as a subdirectory of another repository. You can isolate and reuse repositories, and pull latest changes from or push commits to shared repositories.
You may want to use project B (a third-party repository, or a repository developed by yourself for multiple parent projects) in project A, and use them as two separate projects. In this case, you can use submodules to clone a Git repository as a subdirectory into another Git repository while keeping commits separate.
Displayed on the management console.
-
-
Repository Migration
-
CodeArts Repo provides three migration modes. Select based on your repository storage mode.
Displayed on the management console.
-
-
Repository Statistics
-
On the Repository Statistics tab page in the repository details, you can view the following repository statistics:
Repository summary: displays the repository capacity, LFS capacity, number of branches (cloud repositories), number of tags (cloud repositories), number of repository members, and total number of commits. You can select a branch, and the statistical scope of Commit Trend, Contributors, and Commit Overview will be changed, but the repository summary will not be affected.
Commit Trend: displays the commit distribution of a branch in the repository.
Contributors: displays statistics on the contribution of code committers in a branch (number of commits and number of code lines). The code committers are sorted in descending order of contribution.
Commit Overview: displays statistics on code commits by different dimensions (weekly, daily, and hourly).
Displayed on the management console.
-
-
-
Client
-
CodeArts Repo uses Git client.
Developers need to install Git client tools such as Git Bash or TortoiseGit locally to connect to CodeArts Repo.
Displayed on the management console.
-
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot