田舎おやじの言動log

田舎で暮らすおっさんの言動を適当にロギング。

GitHub

GitHubが無料プランでもプライベートリポジトリ作成可能となったため、現在担当している業務のソース管理を3つばかり運用しはじめた。

これまではプロジェクト(フォルダ)単位でリリースバージョン毎にzipで固めて会社のサーバーにぶち込んでいた。規模が小さく個人で開発する組み込み系ならこれで十分だったのだが、最近は扱うコード量が増え続け、また現行品から派生しての試作を行ったり、リリース間際になると変更、元に戻すの繰り返しでバグが混入するケースも少なからず発生して困っていた。
実はこのうち特にリリース間際の変更ラッシュだけでも管理しようと、2年ほど前にローカルリポジトリの一人Gitを使ってみた。ただこれはある程度効果があったものの、リリース後は開発中のコードは廃棄、または識別するルールがあったため、やがて細かい変更履歴管理不要となってしまった。またリモートワークをするようになって、ローカルリポジトリごとクラウドストレージやUSBで会社からソースを移動させるのも難儀。なのでちょうど良いタイミングだったと思う。

で、とりあえずGUIクライアントとしてWindowsは使い慣れたSourcetreeで問題なかったものの、Linux側でgitgを選択したところでまずは操作がよく理解できずハマった。シンプルすぎてGitHub初心者ではpush、pullもおぼつかない。

その後GitHubをネットでおさらい、コマンドラインからの操作を経てgit-guiで落ち着いたのだが、今度はAndroid StudioのGitを使おうとしてまたもやハマった。とにかく使いにくい。操作名称とgitコマンドが一致していないのは正直理解できないし、ローカル環境依存の.propertiesファイルを.gitignoreに記載するといった暗黙の了解を知らないとビルドすら通らなくなる。そのくせ設定ファイルなどが追加変更されると一々git管理に入れるかしつこく聞いてくるし、よく分からないまま許可すると前述のようにハマるしで、初心者には敷居が高すぎるというか、そもそも無理にこいつを使うメリットが見いだせなかった。

そんなわけで挫折しそうになりつつも、今はようやくおぼろげに全体を理解し便利に使い始めたところだ。特に具体的なブランチの運用方法を知ってから急に自分なりの使い方が理解できた感じがする。初心者はコマンドの解説とか機能説明を深く学ぶより、まずはこっちを学んだ方が良いと思う。