PortableGit for Windows 64bit の インストール

Visual Studio Code の 開発環境を整理し始めました. Visual Studio Code は Git を サポートしていますが別途インストールする必要があります. 今回は Git for Windows Portable を 導入します.
2017.12.18 追記 PortableGit-for-Windowsのインストール の方法の場合、Visual Studio Code で git.exe が 見つからないという警告が出るケースがありました. 詳しくは こちら Visual-Studio-Codeでgitが見つからないと言われた場合の対処 を 参照ください.

作業環境

  • Windows 10 64bit
  • PortableGit 64bit
  • Git Hub

Git for Windows Portable (“thumbdrive edition”) とは

Git 公式パッケージの1つで、ポータブル・アプリケーションと呼ばれる特定の環境にインストールする必要がなく、USB メモリーなどで持ち運び、任意の環境(OS は Windows版なら、Windows の 必要はありますが)で利用できるパッケージ の Git に なります.
今回は PC に インストールするので、Git の 実行環境だけを持ち出すことは無いのですが、git コマンドぐらいしか使わないので、いろいろインストールせずに済ませたいことからポータブル版にしました.

インストール手順

git-for-windows の GitHub 最新のリリース https://github.com/git-for-windows/git/releases/latest へ アクセスします. Git の ウェブサイト https://git-scm.com/ の ダウンロード・ページへ行ってもよいのですが、自動ダウンロードが動作することと、チェックサムが無いので、ダウンロード・ページが見ている GitHub の リリース・ページからダウンロードしました.

例によって Windows PowerShell の Get-FileHash コマンドでチェックサムを確認します.
先のリリースページに記載されている PortableGit-2.14.0.2-64-bit.7z.exe の チェックサムは 5236c21de3cdf52b538322de0b0444f6cd49a5bae6006ea89f0683598cbda7ac でした.

1
c:\> powershell Get-FileHash -Algorithm SHA256 c:\temp\PortableGit-2.14.0.2-64-bit.7z.exe
2
3
Algorithm  Hash
4
---------  ----
5
SHA256     5236C21DE3CDF52B538322DE0B0444F6CD49A5BAE6006EA89F0683598CBDA7AC

ダウンロードした [PortableGit-2.14.0.2-64-bit.7z.exe] を ダブルクリックして、7-Zip の 自己解凍ウィザードを起動します.

解凍先を聞かれるので任意のフォルダを指定します. 今回は C:\Develop\tool\PortableGit に しました.

環境変数 PATH を 設定します. システムのプロパティから追加してもよいですし、以下のコマンドからも実行可能です.

1
powershell [Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'User') + ';' + 'C:\Develop\tool\PortableGit\cmd', 'User')

.gitconfig の 設定

とりあえず最小限の .gitconfig の 設定

  • core.autocrlf は、改行コードをエディタで明示するので変換なしにしました
  • core.excludesfile は、全体の .gitignore ファイルの指定で、先に作成したファイルを指定します
  • user.useConfigOnly は、リポジトリごとに user.nameuser.email を 指定する設定です
    チェックアウトした後に設定するのが面倒ではありますがアカウントが別なリポジトリがあったりすると便利です
  • credential.helper は、HTTPS で クローンする際にクレデンシャル情報を記憶してくれます (Caching your GitHub password in Git - User Documentation)
    1
    c:\> git config --global core.autocrlf false
    2
    c:\> git config --global core.excludesfile ~/.gitignore
    3
    c:\> git config --global user.useConfigOnly true
    4
    c:\> git config --global credential.helper wincred

全体の .gitignore 設定

.gitignore は 各リポジトリに配置するのとは別に、全体の設定ができます. 先の core.excludesfile で 設定したファイルが それにあたり、今回は ~/.gitignore ホームディレクトリにあるファイルに設定しています.

まずはファイルを作成します. Windows には touch コマンドが無いのですが、 type nul > ファイル名 で 空のファイルが作れます. つい null と 指が動きたくなりますが l は 1つになります. nul は Linux などで言うところの /dev/null でしょうかね. NUL デバイスにリダイレクトされたシェルは、MS-DOS のメッセージを表示しません。 - Microsoft サポート.

また、エクスプローラーから作成する場合は 自分のホーム・フォルダーを表示し [右クリック] - [新規作成] - [テキスト ドキュメント] から、ファイル名を .gitignore. と 最後に . を 付けて作成します. 拡張子に関する警告が出ますが [はい] を クリックすると、最後の . が 消えて .gitignore に なります.

余談ですが 日付とファイルのタイムスタンプを更新 - Microsoft サポートCOPY /B ファイル名 +,, らしいです.

1
type nul > %USERPROFILE%\.gitignore

作成したファイルに Git で 管理しないファイルの設定をします.
リポジトリにコミットしないので自分の環境ならではの指定もできるのでうれしいです. Windows なので、とりあえず Thumbs.db を. (このブログは GitHub Pages で 作っている ので、画像がソースツリーにあるから必要)
その他、ちょっとしたスニペットを入れておく自分用フォルダなどを追加してもよさそうです.

1
Thumbs.db

2017年9月10日 追記
もっと良い設定方法があったので、全体 .gitignore の 設定 を 見直しました.
詳しくは、こちら Git の 全体 gitignore を 再設定する を ご参照ください.

Proxy が 必要な環境での設定

たまに必要になってハマることがあるのでメモ.
※ 以下の例の [hostname]:[port] は 利用する HTTP Proxy の ホスト名 と ポート番号に置き換えてください.

https:// で クローンする場合

1
c:\Temp> git config --global http.proxy http://[hostname]:[port]
2
c:\Temp> git clone https://github.com/azriton/test.git

2017年11月25日 追記
HTTPS を 使う場合、上記のように設定ファイルに設定を行わなくても 環境変数 HTTP_PROXYHTTPS_PROXY に プロキシ設定がある場合は、そちらを使ってくれます.
プロキシを自動構成するタスクを作りましたので、こちら Windows の プロキシ を 自動設定するタスクを作成 も 併せて ご参照いただければ幸いです.

git:// で クローンする場合

ホーム・ディレクトリの .ssh ディレクトリに以下の内容で config ファイルを作成します.

1
Host github.com
2
  HostName ssh.github.com
3
  Port 443
4
  ProxyCommand connect.exe -H [hostname]:[port] %h %p

後はいつも通りクローンします.

1
c:\Temp> git clone git@github.com:azriton/test.git

Eclipse と 混在して利用する場合

片方は HTTPS を 使うのが無難な気がしますが、両方とも git:// を 使うには細工が必要です. Eclipse が config を 参照して うまく動かなくなるので、 git コマンドで利用する側の設定を変更します.
Host の 文字列を任意の文字列に変更します. 今回は proxy.github.com としました.

1
Host proxy.github.com
2
  HostName ssh.github.com
3
  Port 443
4
  ProxyCommand connect.exe -H [hostname]:[port] %h %p

クローンする際に、`git@github.com:azriton/test.git:github.comHostに 設定した文字列に置き換えます. 今回の例ではproxy.github.com` に なります.

1
c:\Temp> git clone git@proxy.github.com:azriton/test.git

クローンする際に GitHub からコピーした文字列を変更する必要があり、ひと手間かかりますがクローン後は特に意識することは無いです.


Git の 準備ができました. Visual Studio Code で Git を 使って開発の準備に取り掛かりたいと思います.