如何参与Github开源社区开发

最近对Github开源社区感兴趣,想学习如何在Github上面参与到开源社区开发。

Github项目精确搜索

关于如何在github社区查询到自己想要的开源项目,根据codesheep的视频总结了以下几个精确搜索的条件。
在这里插入图片描述


接着在b站上面找了个Aftership大佬的如何参与开源项目视频链接。因为之前使用Git经历少。在看视频中也遇到了些关于git的指令的笔记,故记录参与开源社区需要的Git指令的流程,以及对应Git指令的功能。

Git相关总结博客

这是一个介绍清楚工作区,暂存区的博客

Git是分布式版本控制系统。

Git 有四个工作区域:工作区域(Working Directory)、暂存区(Stage\Index)、本地仓库(Repository)、远程仓库(Remote Directory)
在这里插入图片描述

  • workspace:工作区,就是平时存放项目代码的地方。
  • Index/Stage:暂存区,用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。
  • Repository:仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。

这是一个有一些更加细节快捷git指令的博客


参与开源社区及git指令流程

1. 在github上面fork一个来解决issue

github上面每个项目都有一个fork按钮。fork含义是分支。点击fork按钮,可以复制一份项目到你的仓库列表当中。

所以,github的fork是复制、打分支仓库的意思。

例如要Fork一个人的代码仓库,fork操作会复制一份目标仓库(包括文件,提交历史,issues,和其余一些东西),复制后的仓库在你自己的GitHub帐号下,这个操作是在github服务器上完成的,和本地计算机的仓库没有关系。

2. 把remote设为我们刚刚新fork的地址

在这里插入图片描述
上面指令的upstream意思是后面的这个远程地址取名为upstream,在后面push upstream就是传到对应地址上面。

3. 创建一个新的分支并且切换到他

$ git co -b <new_branch> # 创建新的分支,并且切换过去
或者
$ git checkout -b dev # Switched to a new branch 'dev'

4. 提交修改步骤

在这里插入图片描述

git diff:

git diff 命令可以对比两个版本的差异,具体来说包括:

  • 本地工作区和暂存区的diff信息:git diff 或者 git diff file
  • 暂存区和版本库的diff信息(使用git add将工作区修改保存到了暂存区后):git diff --cached
  • 版本库中不同commit、分支的diff信息(使用git commit 将暂存区修改提交到了版本库):git diff commit1 commit2 或 git diff branch1 branch2

我们都知道,正常情况下只有我们用commit命令提交到了版本库,才可以使用git diff branch1 branch2 命令来查看分支间的diff信息。
有的时候我们在工作区开发完(可以保存到暂存区),不想提交到当前分支的版本库中,想查看一下其他分支和我当前改动的diff信息,然后再确定是否要提交到版本库中,该如何做呢?可以使用如下命令:查看当前目录和另外一个分支的差别(当前目录未提交到版本库)

git diff branch
git push

git push 命令用于从将本地的分支版本上传到远程并合并。

命令格式如下:

git push <远程主机名> <本地分支名>:<远程分支名> 如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>

5. 提交Pull Request

在这里插入图片描述
点击上面这个红框的链接,可以直接到定位好上游项目的PR申请界面,接着提交即可
在这里插入图片描述

记住在解决开源项目之前先要在issue中查找是否已经有我们想改的问题确认不需要修改的讨论。通过filter选择还开着的issue。可以先提个对应问题的issue再改代码
在这里插入图片描述




参考:

b视频链接:https://www.bilibili.com/video/BV1QY4y1A74H/?spm_id_from=333.337.search-card.all.click&vd_source=001649b7245cf485d6e377016b2433b2

版权声明:本文为CSDN博主「赶路人儿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liuxiao723846/article/details/109689069Git

版权声明:本文为CSDN博主「xyzso1z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xyzso1z/article/details/119009639

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐