Skip to content

Latest commit

 

History

History
216 lines (143 loc) · 6.75 KB

CONTRIBUTING.md

File metadata and controls

216 lines (143 loc) · 6.75 KB

贡献指南

WE PROVIDE ENGLISH VERSION, PLEASE CLICK HERE

我要提交数据信息

该仓库为数据主仓,所有数据由脚本自动提交导入,请不要在该仓库中直接提交数据信息,提交数据信息,请参考 README

本平台使用石墨文档收集数据信息,并由脚本定时以 PR 形式提交数据到该仓库,请不要在该仓库中直接修改数据文件。

由于参与人员较多,不开放所有人员的编辑权限,请在这里填写申请,会定向邀请到特定表单中进行信息录入。

我要提 ISSUE,提 PR

这篇指南会尽可能清楚地描述 GitHub 操作流程,欢迎提交 issue, 或者直接修改提交 PR,为 wuhan2020 贡献一份自己的力量!

0、提交 issue

有任何想法或问题,欢迎到 这里 提交 issue,参与项目的志愿者将会及时沟通交流。

在提交 issue 时,请确定 issue 的类型,并在标题中注明,项目的机器人将会自动打上对应的标签:

  • hospital: 医院相关信息
  • factory: 生产相关信息
  • logistical: 物流相关信息
  • hotel: 酒店相关信息
  • donation:捐款相关信息
  • clinic:义诊相关信息
  • news:疫情新闻动态相关信息
  • doc: 文档相关
  • bug: 缺陷反馈
  • feature: 新的特性

1、认领任务

衷心地希望大家能为本项目添砖加瓦,齐心协力,共克时艰!

Issue 列表 中挑选任务。然后在该 issue 中使用 /self-assign命令领取任务。项目的机器人将会自动将该issueAssignees指定为自己。

/self-assign

示意图如下:

self-assign 示意图

2、Fork 本仓库

访问 wuhan2020 仓库的主页,并 Fork 到自己的账号下。

Fork 仓库

注:以下内容是在命令行终端里面操作,需要安装 Git.

3、Clone 仓库

回到自己的 GitHub 主页,并找到刚刚 Fork 过来的 wuhan2020 仓库,进入仓库主页, 将该仓库 clone 到本地,如:

# 将下面的 XXX 替换成你自己的用户名
git clone git@github.com:XXX/wuhan2020.git
cd wuhan2020

4、新建 branch

非紧急修复,不建议在 master 分支进行开发修改。

根据该分支的用途,起一个恰当的分支名称,新建分支,如:

git checkout -b my-fix-branch master

5、修改内容,并提交

对相应文件做出修改,修改完成后,提交:

git add .
git commit -m "hotel: update HOTEL.csv, fix #1"

提交时,尽量:

(1) 用一句话清楚的描述这次提交做了什么。

(2) 关联相关 issue,如 fix #1close #2#3

如果 commit 之后,又做了修改,可以使用 --amend 参数:

git add .
git commit --amend -sm "hotel: update HOTEL.csv, fix #1"

6、同步上游仓库变更

同步上游仓库变更(即 wuhan2020/wuhan2020 ),因为可能有其他人先于你提交到上游仓库,防止冲突:

$ git remote add upstream git@github.com:wuhan2020/wuhan2020.git
$ git fetch upstream

若上游仓库有变更,需要先进行 rebase:

$ git rebase upstream/master

7、推送新分支到自己的远程仓库

$ git push -f origin my-fix-branch:my-fix-branch

8、提 Pull Request

在自己仓库的页面上提pull request 到上游仓库。如下图所示。

pull-request

open-pr 如果其他人 review 之后,需要再进行更改,就修改相关内容,然后执行以下操作,该 PR 将会自动同步该 commit

git add .
git commit --amend
git push -f origin my-fix-branch

9、如果你的代码合并时出现冲突时,你可以:

注:如果未出现冲突,则无需进行以下操作

  • 先同步上游仓库变更
git fetch upstream
  • 进行rebase:
git rebase upstream/master
  • 手动解决冲突内容,之后重新提交:
git add my-fix-file
git rebase --continue
git push -f origin my-fix-branch

10、当你的代码被合并进去以后,你可以:

  • 切回到 master 分支:
git checkout master -f
  • 保持本地 master 分支与上游分支同步:
git pull --ff upstream master
  • 删除本地分支(可选):
git branch -D my-fix-branch
  • 删除远程分支(可选):
git push origin --delete my-fix-branch

项目机器人说明

本项目已接入 Github 机器人:Menbotics,该机器人可以:

  • Issue 自动打标签:具体见 0、提交 issue
  • 任务认领:具体见 1、认领任务
  • 代码自动合并:有 PR(Pull Request) 提交上来之后,有代码合并权限的人员使用 /approve 让机器人自动合入代码。

机器人配置见 hypertrons.json,如在该配置文件中可以看到具体有哪些人员有代码合并权限。

Slack 交流群组

此外,我们已经建立了 Slack 交流群组,已建立前端、后端、数据同步等对应 channel,欢迎大家加入共同探讨各类技术或非技术类问题,让我们大家一起齐心协力,众志成城,共克时艰!