• 追加された行はこの色です。
  • 削除された行はこの色です。
* Git for Windows (msysgit) 設定 [#k2ddd3cb]

** git statusで日本語ファイル名を表示可能にする [#s0e36274]
以下のコマンドを実行する。
 git config --global core.quotepath false
なお、日本語のファイル名のファイルをコミットして、ファイル名を確認するまでの手順は以下の通り。
 mkdir git.test.repos
 cd git.test.repos
 git init
 echo "HELLO" > 日本語.txt
 git add 日本語.txt
 git commit -m 'japanese filename test'
 git ls-files

** git commitで使うエディタを変更する [#mc07d5ff]
デフォルトではvimだが、以下のようなコマンドを実行して、好みのエディタに変更する(今回はgvim.exe)。但し、改行コードの自動判別機能、UTF8保存機能等が必要で、エディタによっては上手く動かないので、諦めてvimの使い方を覚えるか、git commit -m 'コミットのコメント'で直接コメントを指定するか。
 git config --global core.editor gvim.exe

- デフォルトではvimだが、以下のようなコマンドを実行して、好みのエディタに変更する(今回はgvim.exe)。
-- なお、Windows 8以降ではコマンドプロンプトの仕様変更によりコンソール版のvimは正常に日本語入力出来ないので(2014/1現在)、別のエディタを使うしかない。
- 但し、改行コードの自動判別機能、UTF8保存機能等が必要で、エディタによっては上手く動かないので、諦めてvimの使い方を覚えるか、git commit -m 'コミットのコメント'で直接コメントを指定するか。
 git config --global core.editor "gvim.exe --nofork -c 'set fenc=utf8'"

** 環境変数HOME [#s3e54de0]
- .gitconfig等の設定ファイルが出来るフォルダはデフォルトでは%USERPROFILE%だが、環境変数HOMEによって指定出来る。
-- ちなみにWindowsでは%APPDATA%以下に設定ファイルを置くのがマナーであって、msysgitはLinux由来のソフトだけあって仕様が悪いと言える。
- Windowsの環境変数でHOMEを設定してもよいが、コマンドプロンプトからしかgitを利用しないなら msysgitインストールフォルダ以下のgit.cmd(C:\Users\taro\App\Git\cmd\git.cmd等)を開いて先頭行に以下のように記述を加える。

- .gitconfig等の設定ファイルの保存場所はデフォルトで%USERPROFILE%だが、環境変数HOMEによって指定出来る。
-- Windowsではユーザ設定ファイルは%APPDATA%以下に置く事が推奨されている。
- 環境変数HOMEはコントロールパネルのシステム環境変数で指定するか、Gitのみに適用するにはGitインストールフォルダ以下のgit.cmd(C:\Users\taro\App\Git\cmd\git.cmd等)をテキストエディタで開き、先頭行に以下のような記述を加える。
 @set HOME=%USERPROFILE%\Documents\Git
-- なお、最近のmsysgitはgit.cmdが存在しないようだが、その場合はgit.cmdを自分で作る。以下のような感じ。
-- 但し、最近のGitはgit.cmdが存在しないようで、その場合はgit.comを以下のように自分で作る。
 @set HOME=%USERPROFILE%\Git
 C:\Users\taro\App\Git\cmd\git.cmd %*
- 次にマイドキュメント以下にGitフォルダを作る。
- 以後、msysgitの設定ファイルはこのフォルダ以下に作成される。
- 但し、msysgitを利用する際は、git.exeではなくgit.cmdを実行する。サーチパス等を工夫する事。
 C:\Users\taro\App\Git\cmd\git.exe %*
- 次にマイドキュメント以下にGitフォルダを作れば、Gitの設定ファイル等はここを参照するようになる。
- なお、Gitを利用する際はgit.exeではなくgit.cmdを実行するようにサーチパスを工夫する事。
-- PowerShellでは.cmdより.exeの方が優先順位が高い?ようなので、git.cmdでなくgit.comで作ると良さそう。

** SSHの秘密鍵・公開鍵 [#m6d13eb3]
msysgitのSSHはOpenSSHなので、PuTTYのputtygen.exeを使ってOpenSSH形式の秘密鍵・公開鍵に変換しておく。秘密鍵はメニューの「変換」→「OpenSSH形式へエクスポート」で保存、公開鍵は画面上のテキストエリア「OpenSSHのauthorized_keysファイルに・・・」をコピーペーストで保存する。
- puttygen.exe
-- http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
- 鍵ファイルを置く場所
-- 秘密鍵: %HOME%.ssh\id_rsa
-- 公開鍵: %HOME%.ssh\id_rsa.pub
** GIT_TRACE [#p6139cfc]

** 率直に言って [#t48b6222]
GitはLinux由来のソフトで、本来はWindowsで使う事を想定されてない。msysgitはWindows向けのGitだが、出来が良いソフトだとは思えない。なので、個人的にはGitよりMercurialをお勧めする。
Gitコマンドの動作をトレースするには以下のようにPowerShell上で環境変数GIT_TRACEを指定する。

 $env:GIT_TRACE=1

** 改行コードの自動変換 [#u069aefc]
 git config --global core.autocrlf false
 git config --global core.autocrlf input

*** input [#e86f3b31]
> この設定は、Windows にチェックアウトしたときの CRLF への変換は行いますが、Mac や Linux へのチェックアウト時は LF のままにします。またリポジトリにコミットする際には LF への変換を行います。

- http://git-scm.com/book/ja/v1/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-Git-%E3%81%AE%E8%A8%AD%E5%AE%9A

** ロングファイルパスの制限解除(MAX_PATH) [#w1a0d599]
 git config --global core.longpaths true

- https://github.com/git-for-windows/git/commit/a789c7195835bd9e57f6a4a2889f0a8132902285
- http://stackoverflow.com/questions/4992577/msys-git-and-long-paths


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS