関西支部総会・勉強会

2/23のマイクロマウス関西支部総会に誘われたので参加してきました。

その中の勉強会で一つ発表をする機会をいただきましたので、「気軽に便利なソフトウェア開発ツールを使っていこう」という流れで、バージョン管理システムのGitの取っ掛かりについての話をしてました。趣味の話のためのプレゼンというのもなかなか無い機会で、大変楽しむことができました。

試しにSlideShareなんぞ使ってみちゃったり。スライドの個人情報部分は少し削ってます。ぶっちゃけ隠したところでバレバレですが。

具体的な使い方までは口頭とスライドでは多分伝えられないだろう、ということで後半のコマンド解説はものすごくざっくりした作りになってます。コマンドの詳しい説明は各種Webサイトや書籍をご覧ください。

便利な道具を使おう

各種CADを始めとしたロボコンで定番の機械・電気系ツールというのは情報がだいぶ共有されているように感じるのですが、ことソフトウェアに関してはHEWやGCCEclipseといったマイコン開発環境の構築に話が寄ってしまっている印象を持ってます(完全に主観)。一方でソフトウェア開発のためのツールは、使う人は当たり前のように使うし、使わない人は全く使わずガリガリとコーディングする(そして動く)ので話題に上りにくいのかな、と思ってます。

ですが折角便利なものがあるのにそれを使わないのも勿体無い話で、本当に使うかどうか決めるのは試しに使ってみてからでも遅くはないと思いますよ。

ローカルマシンだけで使うなら、スライドに登場する

  • git init
  • git status
  • git add
  • git commit
  • git log

に加えて、branch/checkout/mergeが使えればとりあえず十分です。幸い情報はWeb上に山ほどあるので、それを見ながら一度使えばすぐ慣れると思います。

後は小ネタ的補足情報

GUI

私は基本的にコマンドラインでGitを使っていますが、もちろんGUIもあります。

…あるんですが、Gitの場合は最初くらいはコマンドラインを使うほうが良いかな、というのが私の考えです。どんなコマンドがどの操作なのかわかりやすいですし、それを知っていないと困ったときにどう調べていいかわかりませんから。CUIならコマンド自体を検索キーワードにしてしまえばいいのです。

リモートサーバー

Gitのリモートサーバーには次のようなものが使えます。通信にはclone/fetch/pull/pushコマンドを使います。

  • sshサーバー
  • http(s)サーバー
  • 他色々

ごく普通のsshサーバーにGitを導入するだけでリモートサーバーとして使うことができます。最もお手軽なGitサーバーの一つと言えます。

httpsGitHubやBitbucketで使われていますね。外部WebサービスでGitを使うとするとこれがメジャーでしょうか。ウェブブラウザ用インタフェースを備えてソースコードを楽に閲覧できるようにしていることが多いです。

研究用途などで外にソースコードを出したくないなら、自分でサーバーを立ててRedmineやGitLabを使うのも良いかもしれません。

あ、スライドはvimをディスってるわけじゃないです。どちらかと言えばemacs派なだけなんです。