- 前言
- fork 源仓库
- clone 到本地
- 切换分支
- 修改源代码以及查看前后差异
- 提交并推送至远程仓库
- 从你 fork 的分支向源分支提交 pr
- 小结
前言
本文主要部分之前是发过的,今天重发并做一定的补充,后面可能要开一个如何从开源社区学习的坑,这里特此重新发布一下,明天继续更新安全相关的内容
fork 源仓库
先 fork 到自己仓库,作为源仓库的一个副本;
clone 到本地
利用 IDEA 可以将 fork 的分支 clone 到你的本地;
如果用命令行的话就是git clone xxxx
命令;
切换分支
你想到修改人家的代码首先要自己创建一个分支同时切换到这个自己创建的分支上面; 这里介绍两种方法:
- 直接利用 IDea 的图形界面:
2直接利用命令创建并切换到当前分支上面:(本人更喜欢这一种)
$git checkout -b anotherbranch
修改源代码以及查看前后差异
提交并推送至远程仓库
此操作对应于命令行中的git commit
命令;
将代码推送至远端: 此操作对应于命令行中的git push
操作;
可以发现自己的提交如下:同时可以查看修改前后的对比,红色的表示删掉的数据,绿色的表示增加的部分;
从你 fork 的分支向源分支提交 pr
下面是我向 freeCodeCamp 社区提交的一个pr的最终记录:
当然了人家最终还会讨论是否合并你的请求,那是后话了,但是通过这一系列的操作相信你已经掌握了向 github 上面任何一个仓库贡献代码的基本流程了吧!
如何实时与远程仓库同步
下面几个命令非常重要!!!
git clone <自己账户下 fork 的代码>
git remote add up <开源项目源地址>
git checkout master
git fetch upmaster // 从开源项目地址拉取最新master分支代码
git merge upstream/master // 合并代码到本地
git push -u origin master // 将最新代码推送到远端
git checkout -b fix-xxxx // 建立新分支
git add xxx //添加修改
git commit -m "描述"
git push -u origin fix-xxxx // 推送修改后的代码到 fix-xxxx 分支
小结
最后总结一下:
这篇文章通过一个简单的例子主要讲解了如何向一个开源项目提交 pr 的过程:fork--->clone--->edit code--->commit--->push--->create pull request