ドキュメンテーション

貢献ガイド

データを提供する

このリポジトリはデータウェアハウスです。すべてのデータは、スクリプトによって自動でインポートされます。このリポジトリに直接データをコミットしないでください。データの送信についてはデータ収集ガイドを参照してください。

このプラットフォームでは、石墨文档(クラウドベースのオフィススイートサービス)を使用してデータを収集しています。データは、スクリプトが自動生成するプルリクエストによってリポジトリへと反映されます。リポジトリ内のデータは直接更新しないでください。 多くの参加者が存在するため、全員に完全な編集権限を与えることはありません。編集のためには申請フォームから申請を行ってください。

issueを立ち上げる、またはPRを送る

このガイドでは、GitHubで貢献をする流れについて、できる限り詳細に説明します。issueを立ち上げて問題提起などを行うか、Pull Requestを送信して具体的な改善案を提案できます。wuhan2020はあなたの貢献を歓迎します!

0.新しいissueを立ち上げる

なにかアイデアを思いついた場合、ここ から新たなissue(議論すべき話題・関心事)を提出してください。wuhan2020のボランティアが対応します。

新しいissueを作成する際には、以下のどのタイプに当てはまるか選択し、タイトルに含めてください。自動でタグ付が行われます。

  • hospital: 病院関係する情報
  • factory: 生産・製品に関係する情報
  • logistical: 運輸に関係する情報
  • hotel: ホテルに関係する情報
  • donation:寄付に関係する情報
  • clinic:無料の医師相談に関係する情報
  • news:この新型コロナウイルスの流行予防に関する最新情報
  • doc: ドキュメントについて
  • bug: バグレポート
  • feature: 新機能の提案

1.担当を名乗り出る

誰もがこのプロジェクトに貢献し、ウイルス克服のために協力できることを心から願っています!

Issueリストから担当したいタスクを見つけたら、/self-assignでアサインしてください。 botが自動で、issueAssignees(担当者リスト)にあなたを追加します。

/self-assign

下の画像のように行ってください。

self-assign 解説画像

2.リポジトリをフォークする

wuhan2020のリポジトリを開き、あなたのアカウントからForkしてください。

リポジトリのFork

注意 : 以降はコンソールで実行します。Gitが必要です。

3.リポジトリをクローンする

GitHubにてあなたのリポジトリ一覧を開き、_wuhan2020_リポジトリが正しくForkできていることを確認してください。 問題がなければ、以下のコマンドでリポジトリをcloneしてください。

# replace the XXX with your own user name
git clone git@github.com:XXX/wuhan2020.git
cd wuhan2020

4.新規branchの作成

緊急でない限り、masterブランチを直接変更することは推奨されません。

目的に応じた名前をつけて、新しいブランチを作成します。

git checkout -b my-fix-branch master

5.内容に変更を加え、commitする

ファイルに変更を加えたら、以下のように、変更を記録してください。

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

このとき、次の点に注意してください。

(1) 何を行ったか、1行の文で簡潔に説明する。

(2) 対象のissueと関連付ける。例: fix #1, close #2, #3

commit後、さらに変更を加えたい場合は--amendを使用してください。

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

6.上流リポジトリの変更を同期

Fork元の上流リポジトリ(wuhan2020/wuhan2020)の変更との競合を避けるために、ローカルリポジトリは上流リポジトリに追従する必要があります。

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

上流リポジトリにて新しい変更があった場合、最初にrebaseしてください。

$ git rebase upstream/master

7.リモートリポジトリに新規ブランチをpushする

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

8.PullRequestを作成する

上流リポジトリに対してpull requestを作成します。

pull-request

open-pr 他の人のreview後に、それについて変更を加え、追加の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

プロジェクトのボットの説明

このプロジェクトでは、MenboticsというGitHubボットを利用しています。 Menboticsは以下のことができます。

  • 自動issueタグ付け:詳細は0. 新しいissueを立ち上げるを参照
  • タスクの申請:詳細は1. 担当を名乗り出るを参照
  • 自動マージ:PR(Pull Request)が送られたとき、権限を持っているスタッフが/approveコマンドを用いると、自動でマージが行われます。

bot設定の詳細はhypertrons.jsonから確認できます。たとえば、マージ権限の所有者などを確認できます。

Slackで会いましょう

さらに、私達はSlack groupにてフロントエンド・バックエンド・データ同期用などのチャンネルを用意しています。技術的なテーマと非技術的なテーマの両方で、より良いコミュニケーションのためにSlackで会いしましょう。目標達成のために、この厳しい期間を共に協力しましょう!