GitHubのトレーニングを受けてわかったこと

現在進行中の翻訳本の校正を行うにあたって、GitHubを使うことになりました。これ、前回の翻訳本でもそうしようということだったのですが、当方の理解の未熟さから、あまり使われずに、組版の方がかなりご苦労なさる形でなんとか終了。関係者は、編集、組版、そして翻訳者の私でです。

この際ですからマスターしたいと思います!という申し出をYさんが聞いてくださって二時間半の特訓。ここにメモすることはその感想です。

実習付きで教えていただいて後から整理したのは以下のようになります。

  • まずはLocalリポジトリを使って(gitで)自分だけで編集、(add)commit、そしてbranchの設定、mergeをできるようになること。ここがステップ1。
  • つぎに、そうした作業ツリーをGitHubにpushする操作を行って、remoteリポジトリに送れるようになること。ステップ2。
  • この二つを分けて理解しないと、remoteとの共有に関係する操作とlocalで編集、履歴の管理の基本の部分がごちゃごちゃになって混乱する(していた(^^;))ということが、わかったのです。

このように操作の領域は二つあることがわかるとWebベースで操作するGitHubとlocalのgitの処理の区分も見えてきます。実は、上の二つを整理してなかったので、localの処理も、Webベースでつまり、GitHubのメニューでやっていたのです(^^;)。できなくはないですが、自分のlocalリポジトリをWebインタフェースで操作するというのは、いろいろ不安です。マシンが作業の途中でスリープしたら編集途中のものはどうなってしまうのだろうか、みたいに。一区切り終わるまで、まるで息をとめて作業しているような感じでした。さきの区分がはっきりしたので:

  • Loaclリポジトリの操作は、コマンドラインでgit…. というコマンドをたたく。
  • remoteリポジトリに関係する処理は、WebベースのGiHubで処理する。

というようにすればいいことがはっきりしました。

このlocalリポジトリでの処理の状態?を管理しているのが、.gitというディレクトリですよ、ということを教えていただいたので、いろいろな謎も解消です。ここが壊れるとアウトです、といわれましたが、この.gitの中にあるファイルがbranchの切り替えも管理していて、それゆえ、gitに直接関係してない操作、Editorなどによる編集や内容確認も「正しく」branchに基づいておこなわれるのですね。

ちなみに、RStudioのGitの管理メニュー、ペインのありがたみもわかってきました。Packgeを作ったら公開するのが目的ではありますが、そのレベルにもっていくには、最初の試行錯誤が必要です。その段階では、Loaclリポジトリだけで作業して、Packageにbuildして動作を確認すればいいではないですか。そんな風に自分用Packageをつくればよい、ということにも確信がもてた次第です(それでもいいよな、とは思っていたのですが(^^))。

まずは感想のみですが、ご報告。できたら、チュートリアルっぽいものも書いてみます。書籍でもネット上にもたくさんの解説がありますが、冒頭に書きましたLocalリポジトリとremoteリポジトリの関係を押さえてよむと、すっきりするものもあるかと思います。