如何向项目提交代码
如何向项目提交代码,首先需要fork开源项目,然后clone到本地,最后在本地新建分支进行修改,修改完成后push到远程仓库,再发起Pull Request请求,等待项目管理员合并即可。
1. 点击链接进去项目主页,点击fork按钮


2. clone项目到本地
进入自己仓库刚刚复制过来的项目,点击复制地址按钮

本地新建一个文件夹 如这里我新建了一个 project文件夹,打开vscode选择新建的文件夹,按下ctrl + ~按钮打开命令行,然后输入clone命令
git clone https://github.com/pengzhijian123/vue-fabric-editor.git(这个是刚刚复制的地址)

3. 链接开源仓库
回到开源项目,点击复制地址按钮

在vscode输入remote add命令链接项目 中间的yousetname可以随意命名

从链接的开源项目分支拉取代码,此项目分支为main

操作完毕后会发现多了一个远程分支,这个就是开源项目的远程分支

此时我们的main分支因为是刚刚拉取的开源远程分支,所以代码和开源远程分支是完全一样的,但是有时候开源远程分支会更新导致和我们本地的main分支代码不一样了,此时我们只需要继续执行pull命令即可:
git pull yousetname main
4. 新建分支
当我们想要修改代码时,第一步先在本地main分支拉取远程开源main分支代码:
git pull yousetname main
然后输入新分支名点击新建分支(此处用的名字为test)


5. 修改代码
比如我在index.html中新增了一行console.log()代码

点击暂存

输入修改的内容后点击提交按钮

推送(push)修改的内容

创建远程分支

选择自己的分支(不要选择开源远程分支!!!)

提交成功后进入自己的git仓库,进入test分支,此时会发现刚刚改的代码同步更新了

6. 提交pr
点击pull request按钮

点击new pull request按钮

将我们的分支选择为刚刚修改的test分支

此时有两种情况:
6.1 代码和最新的远程main分支没有冲突
确定代码没问题后点击按钮

确定标题和描述没问题点击按钮()

此时开源项目下就多了一个pr,我们只需要等待开源人审核合并即可

6.2最新的远程main分支有代码更新,所以导致和我们的代码有冲突
先切换回本地main分支

拉取远程开源main分支最新代码
git pull yousetname main

切换回本地test分支

合并本地main分支


解决代码冲突

推送代码到远程test分支

重复6.1操作提交pr等待审核合并即可
7. 被采纳合并
由于被采纳且合并了,所以保留本地main分支拉取最新远程main分支就行了,下次修改就从main分支中新建新分支再提交pr
7.1 删除本地分支
切换回main分支,然后 git branch -D test

7.2 删除远程分支
git push origin --delete test

8. 注意事项
https://nihaojob.github.io/editorDoc/guide/community.html 注意事项总结:
- 改bug别重复
- commit要规范
- pr信息要清晰