WCAGの翻訳にpull-reqしたい
準備
WCAGの翻訳はGitHubで作業をしてはるので、まずはGitHubに参加する。
https://github.com/waic/wcag20
にいって、ページを一読したのちに、Forkする(右上のForkボタン)。
ローカルに戻って、cloneする。以下は例ですので、YOUR-REPOSITORYの部分を書き換えてください。
git clone git@github.com:YOUR-REPOSITORY/wcag20.git
これでWCAGの翻訳を手元で作業できるようになります。
cd wcag20/
で移動しておきましょう。
まずはremoteに、wcagの本体のリポジトリを足します。
git remote add upstream git@github.com:waic/wcag20.git git fetch upstream
これでupstreamというremoteがaddされました。
upstreamは、手元のmasterを最新に保つのに利用します。
作業と作法:作業ブランチを作る
WG4のご担当者としては、作業ごとにわかりやすいブランチを切って作業をして、プルリクしてもらうとやりやすいのだそうです。
例としては、
- 3.1.1の解説書を修正する(branch 3-1-1-understanding)
- 全体的な用語の統一を見てみよう(branch word-integration)
というような感じで、作業のまとまりがわかると良いようです。
くれぐれも「masterブランチを直にいじってプルリク」というのは避けるべきです。masterブランチは、wcagの最新の翻訳を手元に反映するときに、コンフリクトを起こしてしまいます。
流れは以下のようになります。
git branch BRANCH-NAME
というようなブランチを切って、一連の作業をする。
commitしてpushして、プルリクする。
masterにcheck outして、次の作業の際、masterを最新の状態にしてから、新しいブランチを作る。このとき、masterに戻るのがミソです。ブランチからブランチを切ってしまうと、複数の作業を含んだプルリクができてしまいます。
たとえば、「引用符の起こしと受けの関係を全ファイルに渡って確認して、プルリクする(fix-quote)」という作業をしたとします。この結果、5ファイル編集したとします。作業が終わったら、いったんcommitして、pushして、プルリクします。
次に、「特定の訳語の統一をするぞ(integrate-word)」という作業に取り掛かる際、さきほどのfix-quoteブランチからブランチを作ってしまうと、さきほど編集した5ファイルに「特定の訳語」が存在していた場合、こちらのブランチの「特定の訳語を統一する」という目的外のプルリク(引用符の起こしと受けの修正)が混在してしまいます。
ので、「特定の訳語の統一をするぞ(integrate-word)」の前に、いったんmasterブランチに戻って、あらためてintegrate-wordブランチを作成し、そこで作業をする──つまり、引用符の修正前の状態のブランチで作業をするようにします。
作業の流れ
まず、手元のmasterを最新の状態にします。
git fetch upstream git checkout master git pull upstream master
自分のGitのリモートも最新の状態にしておきましょう。
git push
作業リポジトリをつくり、移動します。
git checkout -b BRANCH-NAME
一通りいじったら、プルリク用に、Gitのリモートにブランチをpushします。
git commit git push origin BRANCH-NAME
あるいは
git push -f origin BRANCH-NAME
Pull requestsのタブで、New pull requestを押したら、自分のブランチと相手のブランチを選択できるので、いじったブランチをwcagのmasterのブランチにプルリクします。問題なければマージされますし、相談事があったらGitHub上でやり取りすることになります。
習慣として、masterに帰っておくようにします。
git checkout master
それでは、素敵なプルリクライフを。
参考:https://github.com/waic/wcag20/pull/101#issuecomment-358211503
ジャンル: Web