【備忘録】Windows7でgit環境構築

社内向けにまとめたかったので、備忘録として。。。
各種パスはご自身の環境にあわせてどうぞ。

面倒くさいのでクリーンな状態から説明します。
クリーンな状態にするには、

1. TortoiseSVNをアンインストール(コントロールパネル>プログラムと機能)
2. TortoiseGitをアンインストール(同上)
3. msysGitをアンインストール(付属のアンインストーラー)
4. Puttyをアンインストール(コントロールパネル>プログラムと機能)
5. 環境変数をクリアする(コントロールパネル>システム>システムの詳細設定>詳細設定>環境変数
GIT**とかPLINK**系を削除します。特にGIT_SSHは消しておく。


なぜ、Puttyをアンインストールするかは、ssh回りで環境やツールが散乱するのを嫌ってです。
gitbash + gnuwin + opensshで充分ですし、鍵ペアも $HOME/.sshに一本化できます。
puttyで一度アクセスしてからコマンドプロンプトでうんぬんとか萎えますしね。


各ツールインストール手順


msysgit

  • まずはダウンロード 最新版でよい
  • ダウンロードしたexeを実行
  • Select Componetsでは全部にチェック!(ワイルドだろぉ)Windows Explorer integrationはSimple context menuで
  • Adjusting your PATH environmentはRun Git and included Unix tools。(いろいろWindows側に変更が入るのでcmd.exeを使っていろいろしている場合はRun Git from the Windows Command Promptを選択
  • Configuring the line ending conversionsはCheckout Windows-style, commit Unix-style line endingsを選択
  • インストール完了


GnuWin32(util-linux-ng)

  • まずはダウンロード Complete package, except sourcesの最新版
  • Select ComponentsはFull instration
  • インストール後にインストールされたbin/以下(例:C:\Program Files (x86)\GnuWin32\bin)のgetopt.exe、libconv2.dll、libintl3.dllをmsysgitをインストールしたフォルダのbinフォルダにコピーする(例:C:\Program Files (x86)\Git\bin)
  • インストール完了


git flow

  • gitが使えるようになっているか確認も込めてgit flowをインストール
  • Git bashを起動する
    cd /c/  
    mkdir Projects  
    mkdir Projects/sandboxes  
    cd Projects/sandboxes  
    git clone git://github.com/nvie/gitflow.git  
    cd gitflow/  
    git submodule init  
    git submodule update  
    C:\Projects\sandboxes\gitflow\contrib\msysgit-install.cmd "C:\Program Files (x86)\Git"  


※2012/07/23追記
思いのほかブクマいただいたので、ついでにssh鍵設定について追記します。


ssh鍵ペア関連

  • 環境変数HOMEが設定されていることを確認する(通常は C:\Users\ユーザー名)
  • Git Bashを起動する
ssh-keygen.exe -C "shirokappa@gmail.com" -f ~/.ssh/id_rsa_for_git
  • 上記コマンドで$HOME/.ssh/下に id_rsa_for_git(秘密鍵)と id_rsa_for_git.pub(公開鍵)が作成されました。-Cにはご自身のメアドを設定してください。
  • 例えばGitHubと社内向けのGitLabやAlminiumなどに公開鍵を登録する場合は、上記で作成された公開鍵をコピーペーストしてください。
  • .ssh/configの編集
vi ~/.ssh/config
  • GitHubと社内GitLabの設定した例(下記参照)
Host github.com
    User git
    Hostname github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_for_git
Host 192.168.xxx.xxx
    User git
    Hostname 192.168.xxx.xxx
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_for_git

git環境構築までならここ以下は不要ですが、GUI(Git GUIでなく)で使いたいとかsubversionも使いたい場合は、以下もどうぞ :)


TortoiseGit

TortoiseSvn