MindSpore码云代码提交步骤以及注意事项
0. 前言
1. 代码提交步骤
1.1 流程图
1.2 配置git
1.2.1 查看并设置用户名和邮箱
-
进入gitee个人主页
-
打开终端(cmd、powershell等)
1.2.2 生成与添加SSH公钥
-
生成SSH公钥
-
添加SSH公钥
- 进入gitee个人主页找到“SSH公钥”,将上面的密文复制到公钥区域,并添加标题。
1.3 fork远程代码仓库到个人代码仓库
1.4 下载到本地仓库
- 进入自己的代码仓库,然后复制下载地址
- 选择自己要克隆的本地路径,然后使用
git clone xxx(刚才复制的内容)
1.5 本地修改并push到自己的代码仓库
1.5.1 进入刚才的本地仓库,修改代码
-
打开终端,进入本地仓库,使用git status 查看状态
-
-
在没有改动时,显示没有可以提交的内容,接下来开始修改代码
-
-
改动case_4_key_technology_in_AI.ipynb文件后再查看git状态
-
使用git add case_4_key_technology_in_AI.ipynb 将改动保存到缓存区
-
使用git commit 来提交代码并进行评论,评论规范请点击这里查看
1.5.2 push到gitee个人代码仓库
1.6 网页提交PR,将代码并入主仓
- 进入gitee个人代码仓库,点击"+Pull Request"
2. FAQ-常见问题
2.1 如何将个人/本地仓库与远程仓库同步
2.1.1 需求描述
当前已经完成了远程主仓库fork到个人仓库以及本地下载,而远程主仓库已经发生改变,个人/本地仓库需要及时同步。
假设A是远程主仓库,B是个人仓库。
2.1.2 解决方法
- 关联两个仓库
执行命令git remote -v 查看远程仓库路径,如果只返回了两行结果,说明这时A、B两个仓库还未进行关联:
origin https://gitee.com/B/xxxx.git (fetch)
origin https://gitee.com/B/xxxx.git (push)
执行命令git remote add upstream https://gitee.com/A/xxxx.git 将A仓库设为B的上游代码库,upstream的名称可以随便取,写abc也可以,之后B就用upstream这个名字与A进行联系。再次查看远程仓库路径,检查是否设置成功
upstream https://gitee.com/A/xxxx.git (fetch)
upstream https://gitee.com/A/xxxx.git (push)
origin https://gitee.com/B/xxxx.git (fetch)
origin https://gitee.com/B/xxxx.git (push)
- 拉取合并代码
执行命令git fetch upstream 获取A上的更新(此时并不会修改本地代码)。然后执行git merge upstream/master 将代码合并到自己的master分支上。或者直接使用git pull upstream master 命令。
- push代码到fork的仓库
通过之前的操作,只是将自己的本地库和原来的远程库进行了同步,所以还需要将fork的仓库也进行同步才行。git push origin master ,将代码push到B仓库,到这里才算将代码全部同步。
2.2 Notebook文件CI门禁常见问题
2.2.1 MarkDown问题
Mathematical formulas should be surrounded by blank lines
Unordered list style
Trailing spaces
Multiple consecutive blank lines
Headers should be surrounded by blank lines
Lists should be surrounded by blank lines
2.2.2 代码问题
2.2.3 在创建的PR中重新测试CI门禁
2.3 多次提交记录,如何进行合并
2.3.1 需求描述
代码仓提交规范要求,提交记录仅保留一条,所以多次提交时会有stat/needs-squash 标签,需要进行合并多次提交。
2.3.2 解决方法
已经又多次提交记录时,采用rebase方法合并多次提交记录,步骤如下:
-
命令行输入git rebase -i HEAD~2 。i的意思是:interactive ,HEAD~2 为合并历史的前两个提交,同理,HEAD~4 就是合并历史的前四个提交。 -
执行后回出现vim信息如下,然后第一行不变,将后面的pick 改为s 或squash 。squash(挤压合并),作用是使用提交,将此提交与之前的提交合并。 然后保存文件退出vim;
pick 56a06ef change 1: remove one blank line
s edbeab5 change 2: add log on MainActivity
...
- 修改commit评论,将除了第一条评论外的评论全部删除,然后保存文件退出vim。
- 再次推送代码
git push -f
已经提交了一次,想继续提交时,采用git commit --amend 方法共用一个ID号,步骤如下:
- 修改代码之前,请先
git fetch --all ; git pull ; 拉取最新的代码再修改 - 如果已经提交PR,此时可以基于上一个PR进行修改,使用
git add * ; git commit --amend ; git push -f ; - 通过commit --amend可以把当前的修改叠加到上一次代码中
|