- 2015-11-03 追記
- 不適切な内容が書かれているため参考程度に止めてください。 FuelPHP ドキュメント翻訳のための git メモ で新たにメモされた内容をご覧ください。
FuelPHP 1.6 が公開されたのを記念?してまた FuelPHP 1.6 翻訳ウィーク : ATND が行なわれるとのことなので参加してみました。
とりあえず、FuelPHP ドキュメント翻訳へのお誘いとかFuelPHP の日本語ドキュメントを 5分で修正するを参考に自分はgithubのクライアントを基本に翻訳してみることにしました。
さあ、とりあえず翻訳できたし、とりあえずコミットしてみるかってんでコミットしてみたらここで事件発生! なんか全行削除されて全行追加された感じになっていました。
※そのままgithubにまでコミットしてしまい大変になったのはまた別の話。
で、ピンときて元を確認してみると案の定、改行コードがCrLfではなくLfだった。
設定を確認すると .gitattributes で指定できるっぽいけど、、、余計なファイルを入れたくないなーと思って探してみたらどうも git コマンドで設定ができるっぽい。
見つけたページ Dealing with line endings - GitHub Help を参考に Git Shell 起動して
git config --global core.autocrlf false
としてやると改行コードが勝手に変わるのが直った。
デフォルトが改行コードを変更するようになってるなんてヒドイorz
初めてのPR github.com/NEKOGET/FuelPH…atnd.org/events/39849#fueldocsja
— さめたすたす?(^o^)/さん (@sharkpp) 2013年5月27日
で、いろいろ翻訳して Pull Request をしてみてさあマージされたと思って、、、あれ?更新を取り込むにはどうしたら?と思ったので試行錯誤をしてフォーク元から変更を取り込みました。
試行錯誤した後でGitHubへpull requestする際のベストプラクティス - hnwの日記などを見つけてorz状態になったけどとりあえず後で考えるようにした。
なので以下に書かれているのは良くない方法ではあると思うので参考にしてはいけないのです。
とりあえず、githubクライアントでcloneするとう upstream って名前はあるけどURLが指定されていないようです。
$ git remote -v
origin https://github.com/sharkpp/FuelPHP_docs_jp.git (fetch)
origin https://github.com/sharkpp/FuelPHP_docs_jp.git (push)
upstream
で、URLを指定します。
$ git remote set-url upstream https://github.com/NEKOGET/FuelPHP_docs_jp
ここからは行儀が良くないやり方。 Pull Request で余計な変更が含まれたりしてしまいます。
フォーク元から変更を取り込みます。 --rebase を付けるのがポイントのようです。
$ git pull --rebase upstream 1.6/develop_japanese
From https://github.com/NEKOGET/FuelPHP_docs_jp
* branch 1.6/develop_japanese -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
そして、変更をプッシュ。
$ git push -f origin 1.6/develop_japanese
Counting objects: 222, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (140/140), done.
Writing objects: 100% (185/185), 27.32 KiB, done.
Total 185 (delta 127), reused 77 (delta 45)
To https://github.com/sharkpp/FuelPHP_docs_jp.git
+ d1c090c...214104c 1.6/develop_japanese -> 1.6/develop_japanese (forced update)
あとは、思うように翻訳して、githubクライアント上で commit & sync 。 そして、github上で Pull Request です。
git fetch とか git merge とかやってみたけどひどいことになりながら↑のやり方にたどり着きました。
まあ、もっとましなやり方を覚えないと、ですが、、、、順番になれていきたいです。
参考: