Git使用
初次使用git管理代码, 将视频教程总结在此,以防丢失。
1. 注册 gitee 账号
2. 添加仓库:
搜索MindSpore项目, 在其主项目MindSpore仓库找到mindvision并fork, 使得自己账号下有xxx/mindvision 仓库
3. 在Windows上安装Git, 下载后双击, 一路next.
检验Git安装成功: 在cmd输入git出来一堆信息
4. 添加ssh公钥:
在命令行输入 ssh-keygen -t -C “gitee注册邮箱”, 之后点击三次回车, 根据输出日志找到id_rsa.pub的位置, 用记事本打开.pub文件, 将里面内容全选复制粘贴到个人账户->安全设置->SSH公钥的公钥框中即可。
ssh测试:在cmd输入 ssh -T git@gitee.com,之后输入yes。输出Hi…, 这说明ssh设置成功。
5. 开始进行代码开发:
-
复制个人仓库地址: 在个人仓库xxx/mindvision的克隆/下载中赋值SSH链接,进入到项目开发地址,在命令行输入:
git clone 刚才复制的ssh链接
-
进行代码修改,打开项目文件README.en.md, 添加个人名字和邮箱
-
进入到项目仓库目录:
cd mindvision
-
查看状态,显示README文件被修改:
git status
-
如果想查看文件改变了什么东西,可以使用git diff命令:
git diff pose/README.en.md
显示绿色行,表示我们在该文件新增一行. -
设置git邮箱,设置个人身份,将修改代码送到个人远程仓:
git config --global user.email "注册邮箱"
(这一步很重要,说明我们以什么身份提交代码) -
测试是否设置成功:
git config --global user.email
,显示刚刚设置的邮箱 -
提交代码:
git add pose/README.en.md
git commit pose/README.en.md -m "代码描述"
-
把本地修改推到远程个人仓:
git push origin master
-
在个人远程仓显示刚才描述,点击能看见详细信息.
-
在个人仓库点击Pull Requests,点击新建Pull Requests, 输入描述,点击创建
-
签署cla开源协议. 点击Sign Individual CLA, 同意授权,取个名字,点击SIGN. 以后提交pr就不需要签署了.
-
解决冲突:本地原本仓与远程现主仓不同,导致冲突.
解决:把远程现主仓与本地仓库进行合并再将被修改文件进行调整。在代码远程主仓复制http地址,在cmd输入:
//进入仓库路径
cd mindvision
//添加远程主仓设置为上游, 命名为upstream
git remote add upstream https://gitee.com/mindspore/mindvision.git
git fetch upstream
git rebase upstream/master //显示CONFLICT
打开pose/README.en.md, 出现 <<<HEAD, ===, >>>. 将这三行删掉
然后 ctrl+s 保存. 回到cmd, 输入: git status,显示更改文件
// 重新提交文件
git add pose/README.en.md
git status
git rebase continue, 让你输入描述. 修改完后按esc, 输入:wq!, 回车
git status
// 将代码推至个人主仓后自动提交pr, 去到主仓查看pr, 不再显示代码冲突.
git push origin master -f // -f 强制提交