「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战」。
前言
本篇文章小蛋我将会手把手教大家如何实现 Github 访问配置,完成自己的首个 Github 项目维护,以及参与开源项目,贡献自己的代码,跟着小蛋来学习吧。
友情提示
如果对 git 命令还不熟练,或者还是个 git 小白,建议看看我的Git专栏,轻松入门哦。
Git 专栏地址:juejin.cn/column/7025…
本地 Git 实现 Github 访问配置
创建 github 账户
如果你还没使用过github,那就需要先访问github.com(因为是外网地址,可能访问会很慢,不用慌,可以关注我,我给你准备了一份快速访问的小工具,你懂的)。
配置 SSH 公钥
从github拉取代码可以通过https或者SSH进行拉取
但是通过 SSH 方式我们需要配置SSH公钥
首先先创建一个公钥
点击 github 右上角的头像,选择 Settings ,进入后点击左侧 SSH and GPG keys
图中我以前创建过 SSH key ,SSH key 是可以创建多个的,
key里面就填你本地git生成的公钥加密串,这个公钥怎么找呢?
本地密钥的创建
在我们电脑的命令行中输入一些命令
//首先进入.ssh目录
% cd ~/.ssh
//查看是否配置过密钥
% ls
id_rsa id_rsa.pub known_hosts
我这里是以前配置过密钥,这几个文件我先跟大家说下:
- id_rsa: 私钥,是和公钥对应的
- id_rsa.pub:这个是公钥,这个是后续我们要在github配置的内容
一般来说我们本地是没有创建密钥的,接下来我们来创建秘钥
创建秘钥:
% ssh-keygen -t rsa -C "your_email@youremail.com"
% ls
id_rsa id_rsa.pub known_hosts
只需这一步就可以创建属于你的密钥
我们来看下id_rsa.pub里面是啥:
% cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCsHMsBfRmN2lVOpfL+NsBsM8KmH0NLQjh/3H2R+EzovYR0RxwsgWmioql9LQTu30HYJOjmSO9LCteEPCRadsdasd3hH3AL/6affadsUkLBAwTXvtz1grUhrz3PWwqsdKaffasfasashWAKvUbhW0fOl6lLQRJZbyPrctovOQsHlH44SHy3/d3AjmQxj9VWp/1xXdsdasdasdasdxZE4rY4cyok3//0b+9nH00qxadafafviFmDC601jjxKG898DyeuGt7oseJfbLgpUuHgCg9AknlFty/eP/pipadnRXnikHOCMkXrpW9qIXcieEmdQMBvw3LeI4USbxFvT1V/TaQOowda8vCffK96QSpTYVZhDLbsyViTzriE0c8hwIot+8hmzrFXadadsaadsdasasdmtUfubOs6TnchIfp+hb/bmEP7GrpuDctV5tlWmaOfLJpxzy271oaSvZcAGZiClMWvJhDbSDg4eYojJlnNlG7+lfDtFc1moTrRoBxv57AWVj0OV44e/PRMhJZhwTN26W/LLp3bKJz7C8= xxx@qq.com
可以看到,里面就是一串加密串,而这个加密串就是我们需要配置在 github 中那个 key 当中的。
这样我们的 SSH 配置就完成了,这样早本地无论是通过 https 方式还是 ssh 方式都可以进行代码的拉取和提交。
如何维护自己的项目
如果我们想把项目在 github上面进行托管,那么首先第一步我们就需要在 github 中创建一个仓库
创建仓库其实很简单,填写你的仓库名称,和描述,还有一个是选择你这个仓库是公开的还是私有的,如果选择公开那么所有人都可以看到你这个仓库。
创建好仓库后我们就可以拉取仓库,进行本地开发
% git clone git@github.com:lrlr/git_learning.git
这里我选择的是 ssh 方式 clone 项目,后续我们就可以基于这个仓库进行代码的提交和拉取。
如何向开源项目贡献代码
如果你想要参与某个项目,但是并没有推送权限,这时可以对这个项目进行“派生”。 派生的意思是指,GitHub 将在你的空间中创建一个完全属于你的项目副本,且你对其具有推送权限。
在以前,“fork”是一个贬义词,指的是某个人使开源项目向不同的方向发展,或者创建一个竞争项目,使得原项目的贡献者分裂。 在 GitHub,“fork”指的是你自己的空间中创建的项目副本,这个副本允许你以一种更开放的方式对其进行修改。
fork 后,我们就可以将修改推送到派生出的项目副本中,并通过创建合并请求(Pull Request)来让他们的改动进入源版本库。通常的操作流程如下:
- 从fork后的项目副本clone项目
- 提交一些修改来改进项目
- 将这个分支推送到 GitHub 上
- 创建一个合并请求
- 讨论,根据实际情况继续修改
- 项目的拥有者合并或关闭你的合并请求
这里我实际操作一下:
假如我看中一个开源项目
把它fork下来
fork之后我们对其进行拉取并修改提交:
// clone 项目
% git clone git@github.com:lrlr/java.git
// 对其修改后进行提交
% git commit -a -m '想合并'
% git push
现在到 GitHub 上查看之前的项目副本,可以看到 GitHub 提示我们有新的分支,并且当我们想合并到开源项目的原仓库可以点击 Contribute 进行操作
当你单击了“Create pull request”(创建合并请求)的按钮后,这个项目的拥有者将会收到一条包含关改动和合并请求页面的链接的提醒。然后会对你的请求进行处理
整个 Github 的使用就写完了,从 Github 的 SSH 配置到维护一个自己的项目,以及最后参与开源项目,整个过程下来相信你彻底掌握了,如果对 git 命令还不熟悉,可以看看我的往期 git 系列文章。