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のご担当者としては、作業ごとにわかりやすいブランチを切って作業をして、プルリクしてもらうとやりやすいのだそうです。

例としては、

というような感じで、作業のまとまりがわかると良いようです。

くれぐれも「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