用html做简单网站,利用万网做网站,珠海专业网站制作,衡阳 网络 网站系列文章目录
手把手教你安装Git#xff0c;萌新迈向专业的必备一步 GIT命令只会抄却不理解#xff1f;看完原理才能事半功倍#xff01; 常用GIT命令详解#xff0c;手把手让你登堂入室 GIT实战篇#xff0c;教你如何使用GIT可视化工具 GIT使用需知#xff0c;哪些操作…系列文章目录
手把手教你安装Git萌新迈向专业的必备一步 GIT命令只会抄却不理解看完原理才能事半功倍 常用GIT命令详解手把手让你登堂入室 GIT实战篇教你如何使用GIT可视化工具 GIT使用需知哪些操作会导致本地代码变动 文章目录 系列文章目录一、选择开源项目二、两个操作1. fork2. pull request 三、实操1. fork 并 clone2. 修改内容并推送3. 创建PR4. 管理者评审5. 合并 四、答疑与总结 经过前面的学习相信大家对GIT的已经基本熟悉了。但是笔者也知道很多同学对向开源项目做贡献感兴趣开源项目的魅力在于它们能够吸引来自世界各地的开发者协同工作共同创造出更为强大的代码库。如果你想为一个开源项目作出贡献那么递交代码就是必须掌握的技能。在这篇博客中我将会手把手地教你如何向开源项目递交代码 作者简介战斧从事金融IT行业有着多年一线开发、架构经验爱好广泛乐于分享致力于创作更多高质量内容 本文收录于 GIT 专栏有需要者可直接订阅专栏实时获取更新 高质量专栏 云原生、RabbitMQ、Spring全家桶 等仍在更新欢迎指导 Zookeeper Redis kafka docker netty等诸多框架以及架构与分布式专题即将上线敬请期待 一、选择开源项目
首先你需要选择一个你想要为其作出贡献的开源项目。你可以在GitHub等代码托管平台上查找符合你兴趣和能力的项目了解它们的目的、代码等级、许可证、开发人员和社区等信息。
在选择一个项目之前你应该首先了解它的需求并检查它们是否与你的专业技能相符合。你还应该考虑项目的长期规划以便你的工作能够持续地为项目做贡献。
二、两个操作
我们之前的内容一般都是开发者自己维护的仓库拥有着诸多权限可以让开发者随意更改。但是别人的开源项目你并不会拥有直接更改的权限。所以在代码平台上提供了两个操作
1. fork
fork的定义是指的是将一个开源项目复制到自己的 GitHub 账户下的操作。当你 fork 一个项目时你就拥有了该项目在你的 GitHub 账户下的一份完整拷贝可以在此基础上进行修改、测试和实验等。
如 github上的fork位置 或者是 gitee 上的也是一样的 如果你前面对Git的学习比较认真的话比较容易想起来一个类似的命令即git clone。该命令可以帮助你获取代码库但它们之间有很大的区别 简单来说fork 是把开源仓库的内容复制到你的远程仓库clone 是把你的远程仓库复制到本地仓库。另外需要说明的是fork 并不是GIT自带的功能而是像github、gitee 这样的代码托管平台提供的功能主要作用是在平台上进行协作
2. pull request
与fork相对的当我们完成一些内容后需要把我们的内容推送至开源项目中但是我们并没有推送的权限所以有了PRPull RequestPull Request是指在GitHub或GitLab等代码托管平台上开发者把自己修改后的代码提交给项目的管理者请求他们审核并合并自己的代码的过程 我们在托管平台上能看到这些 pull requests如下 当我们点进去后能看见其他开发者修改的内容及信息 三、实操
上面已经讲解了两个基本操作那么现在我们开始手把手教各位如何实际操作。因为是演示所以笔者自己在gitee上维护一个项目然后使用小号来进行模拟操作。
1. fork 并 clone
我们先使用小号打开项目页面然后点击 fork目标空间当然是小号自己的空间 等待一会后我们就能在小号的空间中看到复制过来的开源项目 然后我们进行工程的url复制并将其clone至本地这里懒得敲命令使用的是 GIT实战篇教你如何使用GIT可视化工具 中安装过的 TortoiseGit 工具 2. 修改内容并推送
我们对 README 文件进行修改 然后我们把修改的内容进行提交和推送 此时我们可以看到提交已经到了远程上 3. 创建PR
然后我们就可以点击 PR 了 因为是fork过来的项目当我们点击PR的时候源分支和目标分支gitee会自动帮我们填好如下图我们只需要填一下PR的标题和描述。 一般来讲PR的标题应该简洁明了地概括你所做的修改可以使用动词名词的形式描述你的修改操作例如 “修复某个bug” 或 “添加某个新功能”。 而PR的描述则是详细说明你的修改内容和目的包括解决了什么问题、采取了什么处理方式以及对代码或用户的影响等方面。同时你还可以在描述区域中提供一些相关链接或截图以便审核者更好地理解你的修改内容
当我们创建了PR以后就会看到这个页面提示我们还在评审状态 4. 管理者评审
此时如果我们是开源项目的管理者当我们打开项目主页面时就能看到这一次的PR了 当我们点开这个PR进行查看就可以看到提交的内容 管理者可以对此次PR进行代码审核及多种维度的检测。然后点击上面的 “审查通过” 和 “测试通过”。
5. 合并
在对PR进行检测通过后管理者就可以进行代码合并了我们因为是演示所以并没有产生冲突。 如果PR出现合并冲突时一般来说有两种做法一种是管理员来解决冲突。另外一种就是取消当前PR的合并并要求提交者重新修改在这种情况下管理员应该在PR评论中明确指出冲突并提供建议以便提交者可以重新修改。 如果选择合并那么恭喜你你已经完成了一次递交成为了该开源项目的贡献者
四、答疑与总结
本次我们以gitee为平台详细讲解了向开源项目贡献代码的全流程github也是一样的操作当然笔者也总结了目前互联网上的一些疑问在这里也做一个答疑
为什么叫PRpull request
如果用过gitLab的同学可能对另一个类似的词汇有印象。即merge request一般就是我在 B 分支开发开发完成后想把 B 的代码合到 A 分支但我并没有A分支的权限就发起这样一个请求。其实PR也是一样的虽然名称不一样但实际含义相同。我们发起PR的意思就是请求管理者拉取我们写的代码然后合并到他们的项目中最终合并与否是管理者来决定我们只是请求。
为什么一定要fork能不能直接clone开源项目修改后提交并推送
你没有权限进行push。另外即使你有权限作为一个社区我们应该遵循开源协作的标准流程包括 fork 该项目、clone 代码到本地、在本地修改并提交到 GitHub最后通过 Pull Request 向原项目管理者申请合并。这样的流程保证了你的身份和代码的原始性也方便了其他人对你的修改进行审查和协作。
我想成为开源项目贡献者我能做些什么
其实能做的还是挺多的最直接的就是代码方面的优化、bug的修复。如果你觉得这样太难也可以选择为项目翻译文档或用户界面或者编写项目的手册之类的