这篇指南会尽可能清楚地描述如何为 wuhan2020 贡献一份自己的力量。欢迎提交 issue, 或者直接修改提交 PR!
有任何想法或问题,欢迎到 这里 提交 issue
,参与项目的志愿者将会及时沟通交流。
在提交 issue
时,请确定 issue
的类型,并在标题中注明,项目的机器人将会自动打上对应的标签:
- hospital: 医院相关信息
- factory: 生产相关信息
- logistical: 物流相关信息
- hotel: 酒店相关信息
- donation:捐款相关信息
- clinic:义诊相关信息
- news:疫情新闻动态相关信息
- doc: 文档相关
- bug: 缺陷反馈
- feature: 新的特性
衷心地希望大家能为本项目添砖加瓦,齐心协力,共克时艰!
在 Issue 列表 中挑选任务。然后在该 issue
中使用 /self-assign
命令领取任务。项目的机器人将会自动将该issue
的Assignees
指定为自己。
/self-assign
示意图如下:
访问 wuhan2020 仓库的主页,并 Fork 到自己的账号下。
注:以下内容是在命令行终端里面操作,需要安装 Git.
回到自己的 GitHub 主页,并找到刚刚 Fork 过来的 wuhan2020 仓库,进入仓库主页, 将该仓库 clone
到本地,如:
# 将下面的 XXX 替换成你自己的用户名
git clone [email protected]:XXX/wuhan2020.git
cd wuhan2020
非紧急修复,不建议在 master 分支进行开发修改。
根据该分支的用途,起一个恰当的分支名称,新建分支,如:
git checkout -b my-fix-branch master
对相应文件做出修改,修改完成后,提交:
git add .
git commit -m "hotel: update HOTEL.csv, fix #1"
提交时,尽量:
(1) 用一句话清楚的描述这次提交做了什么。
(3) 关联相关 issue
,如 fix #1
、close #2
、#3
如果 commit
之后,又做了修改,可以使用 --amend
参数:
git add .
git commit --amend -sm "hotel: update HOTEL.csv, fix #1"
同步上游仓库变更(即 wuhan2020/wuhan2020 ),因为可能有其他人先于你提交到上游仓库:
$ git remote add upstream [email protected]:wuhan2020/wuhan2020.git
$ git fetch upstream
若上游仓库有变更,需要先进行 rebase
:
$ git rebase upstream/master
$ git push -f origin my-fix-branch:my-fix-branch
在自己仓库的页面上提pull request
到上游仓库。如下图所示。
如果其他人 review
之后,需要再进行更改,就修改相关内容,然后执行以下操作,该 PR 将会自动同步该 commit
。
git add .
git commit --amend
git push -f origin my-fix-branch
注:如果未出现冲突,则无需进行以下操作
- 先同步上游仓库变更
git fetch upstream
- 进行
rebase
:
git rebase upstream/master
- 手动解决冲突内容,之后重新提交:
git add my-fix-file
git rebase --continue
git push -f origin my-fix-branch
- 切回到
master
分支:
git checkout master -f
- 保持本地
master
分支与上游分支同步:
git pull --ff upstream master
- 删除本地分支(可选):
git branch -D my-fix-branch
- 删除远程分支(可选):
git push origin --delete my-fix-branch
逗号分隔值(Comma-Separated Values,CSV),其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录。每个记录由一个或多个字段组成,用**逗号( ,
)**分隔。
- 每一行记录位于一个单独的行上,用回车换行符 CRLF(也就是
\r\n
)分割。 - 文件中的最后一行记录可以有结尾回车换行符,也可以没有。
- 第一行可以存在一个可选的标题头,格式和普通记录行的格式一样。标题头要包含文件记录字段对应的名称,应该有和记录字段一样的数量。(在 MIME 类型中,标题头行的存在与否可以通过 MIME type 中的可选”header”参数指明)
- 在标题头行和普通行每行记录中,会存在一个或多个由半角逗号(
,
) 分隔的字段。整个文件中每行应包含相同数量的字段,空格也是字段的一部分,不应被忽略。每一行记录最后一个字段后不能跟逗号。(通常用逗号分隔,也有其他字符分隔的 CSV,需事先约定) - 每个字段可用也可不用半角双引号(")括起来(不过有些程序,如 Microsoft 的 Excel 就根本不用双引号)。如果字段没有用引号括起来,那么该字段内部不能出现双引号字符。
- 字段中若包含回车换行符、双引号或者逗号,该字段需要用半角双引号(
"
) 括起来。 - 如果用半角双引号括字段,那么出现在字段内的双引号前必须加一个双引号进行转义。
- 如果使用 VSCode 进行编辑,可以使用
Edit csv
插件进行本地测试。
本项目已接入 Github 机器人:Menbotics
,该机器人可以:
Issue
自动打标签:具体见 0、提交 issue- 任务认领:具体见 1、认领任务
- 代码自动合并:有 PR(Pull Request) 提交上来之后,有代码合并权限的人员使用
/approve
让机器人自动合入代码。
机器人配置见 hypertrons.json,如在该配置文件中可以看到具体有哪些人员有代码合并权限。
此外,我们已经建立了 Slack 交流群组,欢迎大家加入共同探讨各类技术或非技术类问题,让我们大家 一起齐心协力,众志成城,共克时艰!