IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 给github项目贡献代码详细步骤 -> 正文阅读

[开发工具]给github项目贡献代码详细步骤

本文以 dlink 项目为例。

fork

第一步是打开 github 上的项目地址,然后点击页面右上角的 fork 按钮,将项目 fork 到自己账号的仓库,记得登录自己的 github 账号。具体看下面图示。

在这里插入图片描述
在这里插入图片描述

这个页面,不需要修改什么参数,保持默认即可。

fork 成功之后,网页就会跳转到自己仓库下的 dlink 项目页面。

idea 克隆项目

在这里插入图片描述

打开自己的 idea ,然后从 “来自版本控制获取” 来打开克隆自己仓库下的项目到本地。

这一步也可以使用 git 命令进行操作,不过 idea 界面化操作更简单,git 命令在这儿就不做演示了。

完成一些配置

克隆完成后,打开 idea 下面的终端,输入一些 git 命令来进行一些必要的操作。

在这里插入图片描述

检查 github 账号信息

git config --global -l

得到如下结果则没问题

user.name=your-user-name
user.email=your-email-address
core.quotepath=false
http.lowspeedlimit=0
http.lowspeedtime=999999
http.sslverify=false

一定要看好最上面的两项,要和自己的 github 账号里面的信息保持一致,否则给项目贡献了代码之后,虽然 github 项目上有贡献记录,但是自己的账号却不会出现在贡献者列表。

如果有信息后面显示为空,或者是和自己的 github 账号里面的信息不一致,则可以使用下面的命令进行修改。

git config --global user.name "your-user-name"
git config --global user.email "your-email-address"

增加远程仓库

查看远程仓库信息:

git remote -v

第一次运行该命令,结果应该是只要你自己仓库的信息,如下:

origin  https://github.com/ziqiang-wang/dlink.git (fetch)
origin  https://github.com/ziqiang-wang/dlink.git (push)

增加远程仓库:

git remote add upstream https://github.com/DataLinkDC/dlink.git

命令解释:

  • add:固定写法,表示增加远程仓库。
  • upstream,远程仓库的名称,可以自己命令,以后会用到这个名称。
  • https://github.com/DataLinkDC/dlink.git:远程仓库的 git 地址。

查看远程仓库信息:

git remote -v

上面增加远程仓库成功的话,运行结果应该如下;

origin  https://github.com/ziqiang-wang/dlink.git (fetch)
origin  https://github.com/ziqiang-wang/dlink.git (push)
upstream        https://github.com/DataLinkDC/dlink.git (fetch)
upstream        https://github.com/DataLinkDC/dlink.git (push)

最后获取远程项目的所有变更:

git fetch upstream

upstream:这个就是上面添加的远程仓库的名称。

成功之后,结果如下:

remote: Enumerating objects: 378, done.
remote: Counting objects: 100% (377/377), done.
remote: Compressing objects: 100% (127/127), done.
Receiving objects: 100% (378/378), 154.80 KiB | 29.00 KiB/s, done. 1

Resolving deltas: 100% (196/196), completed with 22 local objects.
From https://github.com/DataLinkDC/dlink
   d10005ba..4eb1afc1  dev        -> upstream/dev
   0e53d225..6dde9244  dev-tenant -> upstream/dev-tenant

如果由于网络远程造成超时失败等问题,重复运行上面的命令即可。

克隆分支

现在就可以在项目代码的基础上开始进行代码修改了。

修改代码之前,要先克隆自己想要提交代码的远程分支。如果想要基于最新代码进行开发,那就 checkout dev 分支,如果想要基于某个版本的分支进行修改,那就 checkout 对应版本的分支。

提交 pr

此时,你已经修改了很多代码,并且本地也进行了很多测试,然后就可以提交更改,最后提交 pr 了。

获取远程项目的所有变更

git fetch upstream

rebase 远程项目更改

这一步,我同样以 idea 界面操作来演示。

比如,现在我们想将自己本地已经修改的分支代码提交到远程仓库的 dev 分支,那就需要将远程仓库的 dev 分支代码 rebase 到自己的本地分支,下面是 idea 中的操作。

在这里插入图片描述

如果你的 idea 界面为英文界面的话,可以安装“Chinese(Simplified)Language Pack/中文语言包”插件,以切换中文界面。英文界面的变基rebase

提交修改到自己的仓库

操作成功之后,就可以将自己修改的代码提交到自己的仓库,最后再提交 PR 了。

在这里插入图片描述

从这个界面中,可以看到自己修改过的代码,要注意,只提交自己想要提交的那些代码文件,不要提交一些不需要提交的文件。

同时也可以根据修改的内容,将修改过的文件放到不同的提交点里面,也就是每次提交,只提交当前提交点涉及到的文件。之后项目管理员进行代码 review 时,会更清晰。

在这里插入图片描述

进入 git 窗口,然后切换到自己的本地分支,就可以看到自己刚才提交的多个提交点了,之后就可以将这个分支所有更改提交到自己的仓库了。

在这里插入图片描述

一定要注意,这一步是将更改提交到自己的仓库,最好是进行强制推送,避免有些提交点没有提交到自己仓库对应的分支下。

提交 PR

打开远程仓库,然后点击“Pull requests”,就会出现下面的界面

在这里插入图片描述

然后点击“Compare & pull request”,或者是“New pull request”进入提交 PR 的界面

在这里插入图片描述

填写好一些必要的信息之后,就可以进行 PR 的提交了。

提交 PR 只有,管理员可能会对 PR 进行一些提问或讨论,到时候直接回复即可。

其他

每次提交 PR 之前,都需要通过 git fetch upstream 命令来获取远程仓库的所有更改,然后将远程仓库的 dev 分支 rebase 到自己的本地分支,然后提交更改,否则最后提交 PR 时,可能会显示代码有冲突。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:26:35  更:2022-08-19 19:26:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:55:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码