enja-ossのmasterリポジトリと、自分がforkしたリポジトリとで簡単に同期を取る為に、以下のようにremoteを設定すると楽になります。
git remote add upstream git@github.com:enja-oss/Backbone.git
git remote
# 以下のように表示されます
# origin
# upstreamこれによりenja-ossのリモートリポジトリがupstream、自分のforkしたリポジトリが(自動的に)originとなります。
運用フローとしては以下のような感じになります。
git checkout master
git pull upstream master
git push origin masterこれにより
- enja-ossリポジトリから
masterブランチをローカルリポジトリにpull - ローカルリポジトリで
pullしたmasterブランチを自分のforkしたリモートリポジトリにpush
という感じでスムーズにmasterブランチを更新することができるようになります。
上記のように作業すると、masterブランチで作業をしていると、変にmergeが起きたりするので不便です。
また仮にそうでなくても、masterブランチでpull request送ってから作業→pushすると、pull requestに
commitが追加されていくので、今回にpull requestに無関係のcommitが混ざってしまう恐れもあります。
そこで、masterブランチはあくまでもenja-ossリポジトリとの同期としておき、自分の作業分では都度ブランチを
切っていくようにすると便利です。
git checkout -b Event
#作業
git add doc/Event.md
git commit -m "translate"
git push origin Eventこのトピックブランチの作業が終わるまでは、特にmasterブランチとmergeやrebaseなどしなくても
どうせpull requeset送って全て採用されればmasterに統合されるので放っておいても問題ないと思います。
pull requestが採用され、トピックブランチの作業が全て終了したら、ブランチの削除してしまって問題ありません。
git checkout master
git branch -D Event
git push origin :Event最近GitHubに、pull request終わったら「このブランチ削除する?」みたいなボタンが出来たので、 ボタンを押してから
git checkout master
git pull origin --pruneでも同じようにブランチが削除されます。
BackboneとUnderscoreのリポジトリ内には originalというディレクトリがあると思います。
こちらは、翻訳時点でのそれぞれの元の documentcloud のリポジトリを保存しているものになります。GitHubでoriginalディレクトリのリンクをクリックすると元のリポジトリに飛ぶようになっています。
enja-ossのリポジトリの上記のリポジトリをgit cloneした時にはディレクトリは無いと思いますが、以下の操作をする事により、オリジナルのディレクトリ構成やブランチなどがローカルリポジトリに再現されるようになります。
git submodule init
git submodule sync
git submodule update
cd original
git checkout master
git checkout gh-pages出来たばかりのoriginalディレクトリではどのブランチにもなっていないので、masterブランチやgh-pagesブランチをチェックアウトしてください。翻訳に使うのにはgh-pagesブランチを参考にすると良いと思います。