news 2026/5/9 23:38:39

CANN/ATB Gitcode工作流指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ATB Gitcode工作流指南

Gitcode 工作流说明

【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库,基于华为Ascend AI处理器,提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost

1. 开展工作流前的准备

  • 安装Git:请先确保您的电脑上已经安装了Git软件。如您需了解Git,可以在Google、baidu或其他搜索引擎上求助相关内容。
  • 在开展Gitcode的工作流之前,您需要先在CANN的代码托管平台上找到ATB仓库。

2. 准备本地代码

2.1 Fork个人分支
  1. 找到并打开对应的开放项目的首页
  2. 点击右上角的Fork按钮,按照指引,建立一个属于"个人"的云上fork分支。

2.2 把fork分支克隆到本地

请按照以下的复制过程将repository内的代码下载到您的计算机上。

1)创建本地工作目录

您需要创建本地工作目录,以便于本地代码的查找和管理

mkdir ${your_working_dir}

2)完成git上用户名和邮箱的全局配置(如果您之前已经完成过此项配置,请忽略)

把git上的user设置成您gitcode的个人名称:

git config --global user.name "your Gitcode Name"

配置您的git邮箱

git config --global user.email "email@your_email.com"

3)完成SSH公钥注册(如果您没有完成此注册,每次都要重新输入账户和密码)

  • ① 生成SSH公钥

    ssh-keygen -t rsa -C "your_email@example.com" cat ~/.ssh/id_rsa.pub
  • ② 登录您个人的远程仓库网站Gitcode账户并添加您的ssh公钥

    请在Gitcode网页点击右上角的“个人头像”进入个人Gitcode账户,并点击个人头像下的“个人设置”,进入个人设置页面。在“个人设置->安全设置”下,点击“SSH公钥”,在“添加公钥”内把cat命令获取到的ssh公钥添加进去。

    在个人电脑上完成gitcode在SSH上的注册

    ssh -T git@gitcode.com

    如果获得如下“成功”提示,则表示 SSH 公钥已经生效:
    Hi $user_name! You've successfully authenticated, but GITCODE.COM does not provide shell access.

4)复制远程仓库到本地

  • 切换到本地路径

    cd $your_working_dir
  • 复制远程仓库到本地

    • 您可以在需要下载的远程仓库首页,单击“克隆/下载”,得到$remote_link(您需要创建令牌并输入以替代密码登录):

    • 在本地电脑执行如下命令:

      # 下载远程仓库到本地 git clone https://gitcode.com/$user_name/ascend-transformer-boost.git # 设置本地工作目录的上游源(原始仓库) git remote add upstream https://link.gitcode.com/i/28ed3ce1050471e309437abb35c13a61.git
2.3 拉分支

更新您的本地分支

git fetch upstream git checkout master git rebase upstream/master

创建本地个人分支:

git checkout -b myfeature

myfeature为个人分支名称,后续在此分支上编辑和修改代码。

3. 本地构建和验证

本地构建和验证参见构建与测试。

4. 保持您的分支和master的同步

# While on your myfeature branch git fetch upstream git rebase upstream/master

执行merge的时候,请不要使用git pull替代上面的fetch/rebase。因为这种方式会使提交历史变得混乱,并使代码更难被理解。您可以通过修改.git/config文件或使用git config branch.autoSetupRebase always命令来改变git pull的行为,使其默认使用rebase

5. 在本地工作目录提交变更

提交您的变更

git add . git commit -m "提交内容描述"

您可能会在前次提交的基础上,继续编辑构建并测试更多内容,可以使用git commit --amend继续添加提交。

6. 将变更推送到您的远端目录

准备进行审查(或只是建立工作的异地备份)时,将分支推到您在gitcode.com的fork分支:

git push -f origin myfeature

7. 在Gitcode上创建一个 pull request

  1. 访问您在https://gitcode.com/$user/ascend-transformer-boost的页面,单击+Pull Request

  2. 在创建新 PR 的界面,确认源分支和目标分支,选择创建。

    提交 PR 是对项目主分支的一次合并,为保证合并的质量,请谨慎操作。

8. 将pull request与处理的Issue进行关联

  1. 访问仓库的Issue列表,进入您本次pull request所处理的对应Issue页面。

  2. 在Issue右侧的Pull Requests中选择您提交的 PR 进行关联。完成关联后,当PR被合并时,关联的Issue将被自动关闭。

9. 查看门禁状态以及代码检视意见

  • 查看门禁状态

    PR提交后,请输入“/compile”触发门禁检查,检查时间每个仓库有所不同,请关注检查状态,并及时修改问题。

    当页面显示“CI任务执行 成功”,且右上角标签显示ci-pipeline-passed时,即表示门禁检查通过。

    如果门禁检查任务中有任务失败,可以点击对应的日志详情中的点击跳转查看日志中的失败原因对代码进行调整。

  • 查看代码检视意见

    门禁检查通过后,您提交PR申请后,PR被分配给一个或多个检视者。这些检视者将进行彻底的代码检视,以确保提交的正确性,不仅包括代码的正确,也包括注释和文档等。

    您可以在PR列表内找到您提交的PR,并看到对该PR的评论和评审意见。

常用操作

回退一个提交

如果您想回退提交,请采用下面的方式

如果您具有上游写访问权限,请不要使用RevertGitcode UI中的按钮创建PR,因为Gitcode会在主存储库而不是您的fork中创建PR分支。

  • 创建一个分支并用upstream进行同步

    # create a branch git checkout -b myrevert # sync the branch with upstream git fetch upstream git rebase upstream/master
  • 如果您希望还原的提交是:

    • merge commit:

      # SHA is the hash of the merge commit you wish to revert git revert -m 1 SHA
    • single commit:

      # SHA is the hash of the single commit you wish to revert git revert SHA
  • 这将创建一个新的提交以回退到更新前。 push这次提交到远程工作目录

git push ${your_remote_name} myrevert
  • 用这个分支创建一个PR.
处理提交冲突

如果您发现提交的PR带有以下的标记,说明您提交的PR和您本地存在冲突,您需要处理冲突。

  1. 先将分支切换到master上,并完成master的rebase

    git checkout master git fetch upstream git rebase upstream/master
  2. 再将分支切换到您使用的分支上,并开始rebase

    git checkout yourbranch git rebase master
  3. 此时您可以在git上看到冲突的提示,您可以通过vi等工具查看冲突

  4. 解决冲突以后,再把修改提交上去

    git add . git rebase --continue git push -f origin yourbranch
合并提交

如果您提交了一个PR以后,根据检视意见完成修改并再次提交了PR,您不想让审阅者看到多次提交的PR,因为这不便于继续在检视中修改,那么您可以合并提交的PR。合并提交的PR是通过压缩Commit来实现的。

  1. 先在本地分支上查看日志。

    git log
  2. 然后把顶部的n个提交记录聚合到一起进入,注意n是一个数字。

    git rebase -i HEAD~n

    把需要压缩的日志前面的pick都改成s,s是squash的缩写。注意必须保留一个pick,如果将所有的pick都改成了s就没有合并的目标了,会发生错误。

  3. 修改完成以后,按ESC键,再输入:wq,会跳出一个界面,问您是否进入编辑提交备注的页面,输入e以后,进入合并提交备注的页面。请把需要合并的备注都删掉,只保留合并目标的备注,再按ESC键,输入:wq保存退出即可。

  4. 最后完成提交

    git push -f origin yourbranch
  5. 回到gitcode上的PR提交页面查看,您就可以看到之前的提交已经合并了。

【免费下载链接】ascend-transformer-boost本项目是CANN提供的是一款高效、可靠的Transformer加速库,基于华为Ascend AI处理器,提供Transformer定制化场景的高性能融合算子。项目地址: https://gitcode.com/cann/ascend-transformer-boost

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 23:36:34

AI医学影像在COVID-19预后预测中的性能评估与临床挑战

1. 项目概述:当AI遇见COVID-19预后预测作为一名长期关注人工智能在医疗领域应用的从业者,我亲历了从早期概念验证到如今临床辅助决策的整个发展过程。COVID-19大流行无疑是一个催化剂,它以前所未有的紧迫性,将AI医学影像分析从实验…

作者头像 李华
网站建设 2026/5/9 23:36:32

基于RAG与向量数据库构建个人AI知识库:从KnowMe项目看技术实现

1. 项目概述:从KnowMe看个人知识库的演进最近在GitHub上看到一个挺有意思的项目,叫“KnowMe”,作者是AIPMAndy。光看这个名字,你可能觉得它又是一个笔记应用或者知识管理工具。但当我深入去研究它的代码和设计理念时,发…

作者头像 李华
网站建设 2026/5/9 23:28:28

DeepSeek 之后,月之暗面、阶跃星辰再融资

2026年初以来,中国大模型赛道的融资节奏骤然加快。先是智谱、MiniMax相继登陆港股,成为大模型第一股第二股。近期,DeepSeek被曝启动首轮外部融资,国家大基金洽谈领投,估值奔向450亿美元。与此同时,月之暗面…

作者头像 李华
网站建设 2026/5/9 23:27:16

关于博主介绍以及源码获取方式

目录博主介绍项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作博主介绍 开发技术范围:uniapp框架,Android,Kotlin框架,koa框架,express框架,go语言,laravel框架,thinkphp框架,springcloud,django,flask框架,SpringBo…

作者头像 李华
网站建设 2026/5/9 23:24:32

影刀RPA如何实现店群自动化:带你用多浏览器并发,打造拼多多与TEMU的“加密级”运营中枢

大家好,我是林焱,一名深耕电商财务底层逻辑与 RPA 自动化架构定制的独立开发者。 在电商这个充分竞争的赛道里,店群模式一直是卖家们跨越利润阶层的核心手段。当你在拼多多极致的性价比厮杀中找到了一套高转化的玩法,或者在 TEMU…

作者头像 李华