いまさら始めるWindowsからのGit生活 (TortoiseGit)

やあやあ。

バージョン管理、してますか?

 

自分で小さなコードを書いてるときは、書き切るまでバージョン管理しなかったりって、結構ありますよね? え? ない? まあ、ここはあるという事にしておいて下さい。

で、バージョン管理って言えば、最近はSubversionかGit辺りを使うのが定番となってますよね。え、「Visual SourceSafeCVSは?」って? いや、そこは話の都合上また今度で。

 

今回はGitを使う心算でいるので選定は終わってしまっているんだけど、SubversionとGitの差を考えてみましょうか。

その前に、バージョン管理とは何ぞや、から。

 

バージョン管理システムとは

  • ファイルの作成日
  • 更新日時
  • 変更点
  • 変更者
  • その時の覚書

等の履歴をデータベース上で管理し、過去の変更履歴・差分を振り返ったり、行った修正を過去のデータで書き戻す事を可能にする仕組みである。

バージョン管理を日付を振ったフォルダに詰め込んで行うことしか知らない人もいますが、体系的に管理するのであれば、バージョン管理システムのような仕組みを利用いた方が良いです。

 

バージョン管理への抵抗勢力の話

バージョン管理システムを入れようとすると、一定規模の反対が生まれます。

その時の反対意見によくあるもの。

  • 特別なソフトを入れないと見れないんだろ
  • ファイルならいつでも見れるやん
  • 新しいこと今更言われても分からんし
  • Excelなら誰でも見れるやん
  • お前が良くても俺らは嫌だ

まあ、色んな言い分はあるでしょうが、最近はGUIで簡単に利用が出来るようになりつつあるので、ブーたれる人が居ても気にせずガンガン使っていった方が見返りが大きくなります。

当然、闇も薄まるので、不幸になる確率をグンと下げられる……かも知れない……

 

SubversionとGitの性格の違い

これはもう、リポジトリに対する捉え方の差に全てが表れていると考えて良いと思う。

f:id:white_raven:20141215164716p:plain

Subversionの場合は、repositoryが中央に存在し、直接そこへアクセスを行う。

一方、Gitの場合は中央のrepositoryから複写したlocal repositoryを介して間接的にアクセスを行う。

Subversionの場合、α部の通信が可能でないとrepositoryの利用が出来ないが、Gitの場合はα部の通信が不可能な状態であっても、local repositoryに存在する情報の利用は可能となる。

 

この違いは、locationの違いに大きな影響を及ぼす。

例えば、memberが関東と関西に分断されている場合。

例えば、受託開発でマスタのrepositoryが顧客のサーバにあるのに、開発は自社で行う必要がある場合。

例えば、オフショア開発を行う時にマスタのrepositoryが本国にあるが、開発チームは海外に存在する場合。

例えば、その日の気分によってlocationを変えながら開発を楽しみたい場合。

Subversionの場合、α部の通信が容易に出来ない場合は一気に開発難易度が高まる。

Gitの場合は、個々人のlocal repositoryにさえアクセスできれば、特に大きな問題は生じない。開発後、local repositoryをマスタのrepositoryにmergeすれば目的が達成できる。

 

当然、Subversionにもrepositoryの差分を生成したり取り込んだりする機能が存在するが、複数分けてしまったrepositoryを常に手動管理するのはなかなか面倒である。

 

一方、Subversionにもメリットはある。

開発チームが常に一か所に集まっており、尚且つrepositoryにいつもアクセスできるのであれば、態々Gitを選ぶ必要はない。GitはSubversionよりも操作に手数が増える場合があるので、分散開発を行う予定が今後もないのであれば、Subversionを選択しても問題はない。

 

要は、開発メンバのライフスタイルに合わせればいい。

どっちでも良いのであれば、好きな方を選べばいい。

目的と手段が逆転しなければ、道具は好きなように選べば良いと思う。

 

GitをGUIから使えるようにしよう

ここでは、Windows OSを前提に話を進めます

1.Git for Windowsをインストールする

1.1.msysGitをダウンロードする

    こちらから  Git for Windows 

1.2.ダウンロードしたアーカイブを実行する

f:id:white_raven:20141215182610p:plain

    インストールする場所を聞かれるので、任意で選択。

1.3.待つ

f:id:white_raven:20141215182605p:plain
f:id:white_raven:20141215182554p:plain

    その内に終わる。

 

2.TortoiseGit をインストールする

2.1.TortoiseGit をダウンロードする

    こちらから tortoisegit - Download

    必要であれば、言語パックも入手しておく

2.2. TortoiseGit のインストーラを実行する

f:id:white_raven:20141215184136p:plain

待つ

f:id:white_raven:20141215184312p:plain

    [Next]押下

 

f:id:white_raven:20141215184321p:plain

    [Next]押下

 

f:id:white_raven:20141215184330p:plain

    [Next]押下

 

f:id:white_raven:20141215184337p:plain

    (インストール設定を変えるなら、このタイミングで)

    [Next]押下

 

f:id:white_raven:20141215184346p:plain

    [Install]押下

 

f:id:white_raven:20141215184356p:plain

    待つ

 

f:id:white_raven:20141215184403p:plain

    [Finish]

 

2.3.言語パッケージのインストーラを実行する(任意)

f:id:white_raven:20141215184442p:plain

    [次へ]押下

 

f:id:white_raven:20141215184448p:plain

    待つ

 

f:id:white_raven:20141215184505p:plain

    [完了]押下

 

2.4.TortoiseGit の設定

f:id:white_raven:20141215190006p:plain

    パスさえ通せば、後は大体動く

 

これで、Gitが右クリックから大体使えるようになりました。

local内にメインのrepositoryを作成できるので、使い方はそこで色々練習をしてみて下さい。

(書いてる途中で、使い方まで書くのが面倒になったわけじゃないんだからねっ!)

 

ではでは。