支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

エンジニアが開発・管理を行うに必要不可欠と言っても過言ではないソースコード等のバージョン管理ソフト「Git」。今回は詳細な仕組みや使い方までは触れませんが、「Git」を使用する環境作りの一歩としてinstall方法について説明を行っていきます。

Gitのinstall

まずはGitのinstallerを入手する必要があります。Windowsの場合は「Git for WIndows」を公式ウェブサイトかららダウンロードし、Macの場合はOS Xには最初から付属していますし、もしinstallされていない場合や最新バージョンから古い場合は前述のGit公式ウェブサイトからMacに対応したinstallerをダウンロードします。
保存したinstallerを起動すると最初に「ユーザー・アカウント制御」の画面が表示され、PCへの変更を許可するか尋ねられますが「はい」を押します。installerがPCへの変更を許可するとGNUのライセンスに関する内容が表示されますので内容を確認した後、「Next」を押します。するとGitをinstallするフォルダを指定する画面に移行しますので、install先のフォルダを指定し「Next」を押します。必ず変更しなければいけないことはなく、デフォルトのままでも問題はありません。もしinstall先を変更する場合は「Brose...」を押しinstallしたいフォルダを指定します。

install先を決定した次にはinstallするコンポーネントを選択する画面が表示されます。以下にコンポーネント一覧を解説しますので必要なコンポーネントを選択肢て「Next」を押して次へ進みます。

Additional Icon :Bashを起動するためのショートカットを作成します→

[On the Desktop]:Bashを起動するためのショートカットをデスクトップ画面上へ追加します。

Windows Explore :ファイルやディレクトリを右クリックしたときのコンテキストメニューに何を表示させるかの選択です。→

[Git Bash Here]:エクスプローラーの右クリックメニューのリストへ「Git Bash Here」を追加します。

[Git GUI Here]:エクスプローラーの右クリックメニューのリストへ「Git GUI Here」を追加します。

[Git LFS (Large File System)]:Git LFS(大きなサイズのファイルやシステム)の導入を行います。つまりLFSをinstallするかしないかを選択します。LFSは設定されたファイルをGitのレポジトリ内には保存せずハッシュと実際のファイルの参照先(ショートカット)だけを保存し実際のファイルを別場所へ保存しておくことでGitのパフォーマンスを改善する仕組みのソフトウェアです。特に指定がなければチェックをつけてinstallが一般的ですが、チームで作業されている場合はリーダーや他メンバーと確認を行ってください。

[Associate .git* configuration files with the default text editor]:デフォルトのテキストエディターと「.git*」コンフィグレーション・ファイルを関連付けます。

[Assiciate .sh files to be run with Bash]:Bashと「.sh」ファイルを関連付けます。

[Use a TrueType font in all console windows]:Bash以外の全てのコンソールウインドウのフォントをLucida Consoleに変更します。しかしこれにチェックを入れてしまうと漢字などの多バイトで構成されている文字は文字化けしてしまうためチェックは入れないことを推奨します。

[Check Daily For Git for Windows Updates]:Git for Windowsのアップデートを毎日実施するかの選択になります。

コンポーネントの選択が終了したら次はスタートメニューフォルダにプログラムのショートカットを作成するかの設定画面が開きます。不要な場合を除いて通常は変更せずに「Next」を押して先へ進めます。次はコミットコメントなどを編集する際に使用するエディタを選びます。V2.16.0以降はオプションの選択方式がラジオボックス方式からプルダウン方式へ変更となりました。以下に設定の詳細を記載します。

[Use the Nano Editor by Default]:nanoエディタを標準使用する設定になります。

[Use Vim(the ubiquitous text editor) as Git’s default editor]:Vimを標準使用する設定です。過去今までのデフォルト設定がこれに該当します。

[Use Notepad++ as Git’s default editor]:notepad++を標準使用する設定になります。ただしこのオプションを有効にした場合は別途「notepad++」のinstallが必要となります。

[Use Visual Studio Code As Git’s default editor]:Visual Studio Codeを標準使用する設定です。ただしこのオプションを有効にした場合は別途「Visual Studio Code」のinstallが必要となります。

[Use Visual Studio Code Insider As Git’s default editor]:Visual Studio Code Insiderを標準使用する設定になります。ただしこのオプションを有効にした場合は「Visual Studio Code Insider」のinstallが必要となります。

[Use Sublime Text As Git’s default editor]:Sublime Textを標準使用する設定になります。ただしこのオプションを有効にした場合は別途「Sublime Text」のinstallが必要となります。

[Use Atom as Git’s default Editor]:Atomを標準使用する設定になります。ただしこの設定を有効にした場合は別途「Atom」のinstallが必要となります。

[Select Other editor as Git’s default Editor]:上記以外のエディタを使用する場合に選択します。この設定を選択すると選択したいエディタへのパスを入力するテキストボックスが表示されるので自身の希望する内容を入力します。加えてBrowseボタンでダイアログを出力してパスを指定することも可能です。

次に環境変数pathに何を追加するかを設定します。path環境の設定によりGitのコマンドに加えてWindowsやUnixのコマンドを併用することが可能になります。以下にオプションの詳細を記載します。

[Use Git Bash only]:installerーは環境変数pathには何も変更を行いません。pathに変更を加えないため、既にMinGWやcy.gwinやその他UNIX互換環境等が構築されている場合はこのオプションが推奨されます。installerがスタートメニューなどに登録したbashとcmdのショートカットではシェルスクリプトが働きそのコンソール内で必要なpathが追加された状態になります。そしてGit BashからのGItコマンド・ライン・ツールのみの使用が可能になります。

[Use Git from the Windows Command Prompt]:(デフォルトの設定になります)現在の環境がオプションのUnixツール等と混在することを防ぐために最小限のGirラッパーを追加します。要するにGit BashとWindowsコマンドプロンプトの両方を使用することが可能になります。

[Use Git and optional Unix tools from the Windows Command Prompt]:現在の環境にオプションのUnixツールをpathに追加します。この追加によってGitだけでなく他のUnix由来のツール、lsやlessなどをWindowsのコマンドプロンプトから使用することが出来ます。しかし「find」や「sort」のようなWindowsツールが上書きされるため、この実装について内容を理解している場合にのみ有効にすることが推奨されます。

次にHTTPS接続の設定を行っていきます。GitでHTTPSを用いてフェッチ/プッシュ/プルするときにOpenSSLが持つルート証明書を使用するか、WindowsのSecure Channelのルート証明書を使用するか決定します。GitHubやBitBacket等のレポジトリサービスを利用する場合やLinuxベースのローカルサーバー上のGitリモートリポジトリに接続する場合は「OpenSSL」で問題ありません。しかし企業などでTeam Foundation ServerやWindowsサーバー/IISでGitリポジトリサーバーを運用しており、そこへアクセスする場合に認証局に発行された証明書が必要な場合、必ず後者の設定を選択します。さらにこれはcURLは使用するライブラリを入れ替えるオプションになり、後から「.gitconfig」から変更を行えないので注意します。通常はOpenSSLの選択で問題ないですが、企業内ユーザーでよくわからない場合や自己判断出来ない場合はシステム責任者やTFSの管理者に必ず確認を行ってください。SSHを使用してのアクセスでは変わらずOpenSSHが使用されます。またgit for WindowsのコンソールからcURLコマンドを直接使用した場合もここで設定した方のライブラリを使用します。

[Use the OpenSSL library]:(デフォルト設定です)サーバー認証はca-bundle.crtファイルを使用して処理されます。

[Use the native Widows Secure Channel library]:サーバー認証はWindows Certificate Storeを使って行われます。

次にレポジトリへのチェックイン・チェックアウト時のテキストの改行や行末変換の取り扱いを設定する画面が開きますので、自身に必要なオプションを選択して次へ進みます。多くの場合、一番上の[Checkout Windows-style, commit Unix line endings]オプションが勧められることが多いのですが、これを選択してしまうとチェックアウト時にテキストファイルの改行全てが「CRLF」に変換されてコミット時には全て「LF」に変換されてしまいます。これは一見して問題ないように思われますが、実際の利用者の口コミや評判からはメリットよりも使いにくいといったデメリットの評判のほうが多く見受けられます。必ずしも不便とはならないと思いますが、改行の管理はGitに任せる必要性はなくIDEAやその他エディタを使用すれば十分ですので今回は「単独のPCで使用することを想定して」Gitでは何も処理を行わない一番下の[Checkout as-is, commit as-is]を推奨します。以下にオプション内容の詳細を記載します。

[Checkout Windows-style, commit Unix-style line endings]:Gitでテキストファイルのチェックアウトを行う時LFをCRLFに変換します。テキストをコミットする際にもCRLFをLFに変換します。またクロス・プラットフォーム・プロジェクトのためにWindowsに対して推薦される設定になっています。(※「autocrlf」が「true」に変更)

[Checkout as-is, commit Unix-style line endings]:テキストファイルのチェックアウトを行う際にどのような変換も行いません。テキストをコミットする時にCRLFをLFに変換します。クロス・プラットフォーム・プロジェクトのためにUnixに対して推薦される設定である。(※「autocrlf」が「input」に変更)

[Checkout as-is, commit as-is:Git]:テキストファイルのチェックアウトやコミットを行う際にいかなる変換も行いません。このオプションを選択することはクロス・プラットフォーム・プロジェクトのためには推奨しません。(※「autocrlf」が「false」に変更)

次にGitで使用するコンソールを「Cygwin」で使用されている「Mintty」を使用するか、Windowsに標準搭載されているコンソールを使用するかの選択をします。使用にあたって希望等が無ければMinttyを推奨します。しかし既に「ConEmu」や「Console2」を使用している場合や、Windows 10でのWindowsの標準コンソールでも大丈夫という方は「Use Windows’s default console windows」を選択します。以下にオプションの詳細を記載します。

[Use MinTTY(the default terminal of MSYS2)]:Git BashはMinTTYをターミナルエミュレータとして使用します。それはサイズ変更可能なウインドウをしており非長方形の選択を可能とし、Unicodeをサポートしています。Windowsコンソール・プログラムを「MinTTY」の中で動作させるためには「winpty」を通して起動する必要があります。

[Use Widow’s default console windows]:ウインドウ(exe)を使用するWindowsのデフォルト・コンソールです。これは対話型のPythonやnode.jsのようなWin32コンソール・プログラムと共に使用しますが、デフォルトのスクロール・バックは非常に限定的なものになります。もし非ASII文字を表示するためにはUnicodeフォントが使えるように設定する必要があります。にWindows10以前のウインドウのサイズの自由変更は出来ず、テキスト選択は長方形のみ選択が可能です。

次に進むと拡張オプションの設定を行う画面が表示されます。以下に詳細を記載します。

[Enable file system caching]:PCのリソースは多少消費する代わりにgit status時などでの応答速度を改善するfscacheキャッシュを有効にするかしないかのオプションになります。(fscacheがtrueに設定される)これを有効にすると大幅なパフォーマンス向上に繋がります。マシンリソースに余裕がある場合はチェックを推奨します。

[Enable Git Credential Manager]:[GCM](Git Credential Manager for Windows)をinstallするかどうかのオプションになります。GCMをインストールするとGitHubやTeam Foundation Services等にアクセスする際、二段階認証に対応し、その認証情報をWindowsの資格情報マネージャーに保存できるようになります。加えて、通常のhttpsアクセスの際の認証情報も同様に保存され、アクセス時のパスワードの入力や、二段階認証の手間を減らすことが可能になります。特にこだわりがなければインストールを推奨します。

[Enable symbolic links]:シンボリック・リンクを有効にするオプションです。チェックを入れることでGitでシンボリックリンクを使用可能になりますが、WindowsのシンボリックリンクはPOSIXとは互換性がない場合も存在するため注意する必要がありますが、多くの場合は問題無く動作します。加えてWindows 10 Fall Creators Update以降では開発者オプションをONにすることでシンボリックリンクの操作に管理者権限が不要になったため利便性が向上しています。ただし現状のリポジトリーは、この設定に影響されないことに注意してください。

次に進むと従来のシェルスクリプトで実装されていた「git add -i/pコマンド」か、C言語で実装された「git.exeの内蔵バージョン」を使用するかを選択します。チェックを入れると「Git.exeの内蔵バージョン」を使用します。
チェックし終えたら「installボタン」を押してinstallを開始します。「Completing the Git Setup Wizard」が表示されたらinstallが完了です。お疲れ様でした。

さいごに

いかがだったでしょうか。今回は基礎も基礎であるインストーラーの内容を順を追って説明させていただきました。詳細な使い方はまた機会を改めてご紹介出来ればと思います。少しでもGitをインストールするお手伝いになれば幸いです。ここまで読んでいただきありがとうございました。