CANN/ascend-boost-comm Gitcode工作流

CANN/ascend-boost-comm Gitcode工作流 Gitcode 工作流说明【免费下载链接】ascend-boost-comm算子公共平台南向对接不同组织开发的算子库北向支撑不同加速库应用实现M x N算子能力复用项目地址: https://gitcode.com/cann/ascend-boost-comm1. 开展工作流前的准备安装Git请先确保您的电脑上已经安装了Git软件。如您需了解GIt可以在Google、baidu或其他搜索引擎上求助相关内容。在开展Gitcode的工作流之前您需要先在Ascend的代码托管平台上找到Ascend Boost Comm仓库。2. 准备本地代码2.1 Fork个人分支找到并打开对应的开放项目的首页点击右上角的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 emailyour_email.com3完成SSH公钥注册如果您没有完成此注册每次都要重新输入账户和密码① 生成SSH公钥ssh-keygen -t rsa -C your_emailexample.com cat ~/.ssh/id_rsa.pub② 登录您个人的远程仓库网站Gitcode账户并添加您的SSH公钥② 登录您个人的远程仓库网站Gitcode账户并添加您的ssh公钥请在Gitcode网页点击右上角的“个人头像”进入个人Gitcode账户并点击个人头像下的“个人设置”进入个人设置页面。在“个人设置-安全设置”下点击“SSH公钥”在“添加公钥”内把cat命令获取到的ssh公钥添加进去。在个人电脑上完成gitcode在SSH上的注册ssh -T gitgitcode.com如果获得如下“成功”提示则表示 SSH 公钥已经生效Hi $user_name! Youve 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-boost-comm.git # 设置本地工作目录的上游源原始仓库 git remote add upstream https://link.gitcode.com/i/f0ec0eeb9ceb6355e324883cd0565aa1.git2.3 拉分支更新您的本地分支git fetch upstream git checkout master git rebase upstream/master创建本地个人分支:git checkout -b myfeaturemyfeature为个人分支名称后续在此分支上编辑和修改代码。3. 本地构建和验证本地构建和验证参见使用说明。4. 保持您的分支和master的同步# While on your myfeature branch git fetch upstream git rebase upstream/master执行merge的时候请不要使用git pull替代上面的fetch/rebase.git pull。因为这种方式会使提交历史变得混乱并使代码更难被理解。您也可以通过更改文件来达到目的.git/config文件通过git config branch.autoSetupRebase always去改变git pull的行为。5. 在本地工作目录提交变更提交您的变更git add . git commit -m 提交内容描述您可能会在前次提交的基础上继续编辑构建并测试更多内容可以使用git commit --amend继续添加提交。6. 将变更推送到您的远端目录准备进行审查或只是建立工作的异地备份时将分支推到您在gitcode.com的fork分支:git push -f origin myfeature7. 在Gitcode上创建一个 pull request访问您在https://gitcode.com/$user/ascend-boost-comm的页面单击Pull Request。在创建新 PR 的界面确认源分支和目标分支选择创建。提交 PR 是对项目主分支的一次合并为保证合并的质量请谨慎操作。8. 将pull request与处理的Issue进行关联访问仓库的Issue列表进入您本次pull request所处理的对应Issue页面。在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 SHAsingle 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和您本地存在冲突您需要处理冲突。先将分支切换到master上并完成master的rebasegit checkout master git fetch upstream git rebase upstream/master再将分支切换到您使用的分支上并开始rebasegit checkout yourbranch git rebase master此时您可以在git上看到冲突的提示您可以通过vi等工具查看冲突解决冲突以后再把修改提交上去git add . git rebase --continue git push -f origin yourbranch合并提交如果您提交了一个PR以后根据检视意见完成修改并再次提交了PR您不想让审阅者看到多次提交的PR因为这不便于继续在检视中修改那么您可以合并提交的PR。合并提交的PR是通过压缩Commit来实现的。先在本地分支上查看日志。git log然后把顶部的n个提交记录聚合到一起进入注意n是一个数字。git rebase -i HEAD~n把需求压缩的日志前面的pick都改成ss是squash的缩写。注意必须保留一个pick如果将所有的pick都改成了s就没有合并的目标了会发生错误。修改完成以后按ESC键再输入:wq会跳出一个界面问您是否进入编辑提交备注的页面输入e以后进入合并提交备注的页面。请把需要合并的备注都删掉只保留合并目标的备注再按ESC键输入:wq保存退出即可。最后完成提交git push -f origin yourbranch回到gitcode上的PR提交页面查看您就可以看到之前的提交已经合并了。【免费下载链接】ascend-boost-comm算子公共平台南向对接不同组织开发的算子库北向支撑不同加速库应用实现M x N算子能力复用项目地址: https://gitcode.com/cann/ascend-boost-comm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考