2014年5月31日土曜日

Networkトラフィック情報のソース(redhat/Centos)

Redhat環境で、気になったのでサポートに聞いてみた。

・ネットワークトラフィックは/proc/net/devに記録される。 ・実際の値の反映は、多少タイムラグが発生する。

・sysstat(sar)やsnmpによるNICのトラフィックも、上記の値を参照している。

とのこと。

Windows8でカスタマイズ

Windows8を使っていて、何かと使いにくいと思っていたので、いろいろ調べてみたのでTips

・Aero Snapを無効化する

 ウィンドウを画面端にDrug&Dropすると、最大表示されたり、配置されたりする機能。それが
 Aero Snapというらしい。勝手に最大表示になるし、とても使いづらい。。無効化する

 1.[Win]+[U]で、コンピューターの簡易操作センター画面が開く

 2.「マウスを使いやすくします」を選択

 3.「ウィンドウが画面の端に移動・・」をON・・完了


・使用するCPUコアを限定する

 CPUをぶん回すプロセスがいるとき(特にマルチスレッドで)、使用するCPUコアを限定させ
 て、影響を出ないようにしたいときの方法。

 1.タスクマネージャーを開いて、詳細タブより、該当プロセスを指定して右クリックし、
   「関係の設定」を選択する
 2.プロセッサの関係の画面が開くので、使用させるCPU以外のチェックを外す・・完了

 もう1つはプログラム実行時にCPUを限定させる方法。
 コマンドプロンプトで”/AFFINITY”オプションで、関係マスクなるものを指定することで
 実現できる

 > cmd.exe /c start "タイトル" /AFFINITY 2 "notepad"

 ちなみに関係マスクというのは以下のような値らしい

Affinityオプションで指定できるCPUコア
0 -
1 CPU 0
2 CPU 1
3 CPU 0 & 1
4 CPU 2
5 CPU 0 & 2
6 CPU 1 & 2
7 CPU 0 & 1 & 2
8 CPU 3
9 CPU 0 & 3
D CPU 0 & 2 & 3
F CPU 0 & 1 & 2 3


 という感じ。立ち上がったプロセスの関係の設定を見ると、、その通りになってる!

・問題ステップ記録ツール

 PCの操作で質問をされたときに操作履歴がわかるので便利(かも)!

 1.[Win] + [R]で「ファイル名を指定して実行」を起動して、"psr"を実行。

 2.「問題ステップ記録ツール」が起動されたら、「記録の開始」を押して操作すればいいみたい。

 3.操作が終了したら、「記録の停止」を押すと、保存のウィンドウが開くので、適当なところに
   保存すると、zip形式でファイルができる。

 ※記録できる画像枚数が25枚に設定されているので、必要であれば変更できる。

・Microsoft Loopback Adapterを追加する

ほしい時の追加方法。

 1.[Win] + [R]で「ファイル名を指定して実行」を起動して、"hdwwiz"を実行。

 2.「ハードウェアの追加」が起動されたら、以下の内容で進める。

   インストール方法:一覧から選択したハードウェアをインストールする(詳細)
   共有ハードウェアの種類:ネットワークアダプター
   製造元:Microsoft
   ネットワークアダプター:Microsoft KM-TEST Loopback Adapter


・Windows8をWifiルーター化してみる

Windows8(7)のSoftAPとVirtualWifiという機能と、無線LANアダプタとがあれば、PCをWifiルーターのように使える。ちょっとしたと時に便利かもと思った。

 http://www.infraexpert.com/study/wireless48.html
 http://yamanxworld.blogspot.jp/2012/11/windows-8-microsoft-virtual-wifi.html

・拡張子の関連付けをコマンドラインで変更する


 拡張子からファイルタイプを調べる

 >assoc .txt

 .txt=txtfile

 上記だと、.txtはtxtfileというファイルタイプであることがわかる。次にファイルタイプが関連付けられている、アプリを確認する

 >ftype txtfile

 txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1

 となり、メモ帳(notepad)に関連付けられていることがわかる。

 ※関連付けを初期化したい場合は、以下のレジストリを削除する。ただし、ファイルタイプが作成されているものだけに限る(ファイルタイプが作成されていないと、リセットできない)

 >reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\UserChoice

 上記の太文字の箇所が拡張子に該当する。

・SSDを使っている環境でTrim機能を有効にする

 Windows8の環境では自動で有効になっていましたが、念のため。

 >fsutil behavior query DisableDeleteNotify

 DisableDeleteNotify = 0

 0はTrimが有効になっている状態。もし1になっていたら、

 >fsutil behavior set DisableDeleteNotify 0

 とすれば、有効化できる。ちなみにSSDとHDDの混在環境も考えられるが、Trimが有効になってもHDDには影響はないとのこと。

 ※OSがどうやってSSDと判断しているか?はほぼ公開されていないらしいですが、SSDが有効な時に確認しておく設定というものがあるらしい。以下参照。

 ※参考
http://128bit.blog41.fc2.com/blog-entry-356.html
  http://d.hatena.ne.jp/Lansen/20091114/1258183348
  http://blogs.msdn.com/b/e7jp/archive/2009/05/24/9639779.aspx
 

・ReadyBoostを使ってシステムキャッシュ領域を増やす(速くなる?)

 SSDがあったらあまり効果はない(というか使われないみたい)かもしれないけど、USBメモリで 
 32GBもあるし、有効じゃない?と思ったのですが、、ちょっと調べただけで、USBメモリがそれほど速くないし、弊害(起動時間やOSのもたつきによるデメリットのほうが多い!という意見が多い。
 USB 3.0になってもメモリ自体が速くならないとですね(だったらSSDか)。

 ※参考
 http://technet.microsoft.com/ja-jp/windows/ff467971.aspx



・バクアップと復元

 簡単なバックアップを取るには、

 1.[Win] + [R]で「ファイル名を指定して実行」を起動して、"sysdm.cpl"を実行。

 2.「システムの保護」タブで、ドライブを選択し作成!(途中説明を入れたりする)

復元するには

 1.[Win] + [R]で「ファイル名を指定して実行」を起動して、"rstrui"を実行。
   ※バックアップの時の「システムの保護」タブからシステムの復元でもOK

 2.復元するポイントを選択し、進めるだけ。

またディスク障害などに備えてイメージバックアップを取るには、Windows8.1からは実行する場所も変わったみたいで、

 1.「コントロール パネル」-「システムとセキュリティ」-「ファイル履歴」を実行し、
 
 2.画面左下にある、システムイメージバックアップを選択する。進めると、取得先の選択
   画面が出てくる。

 3.次に進むと取得対象となるドライブを選択する

 4.バックアップ実行。バックアップは2でハードディスクを選択した場合、ドライブ直下に

   [Drive]:\WindowsImageBackup\[マシン名]\Backup yyyy-mm-dd xxxx

というフォルダが作成され取得される。

復元するには、
 
 ■イメージごと復元
  OSのインストールメディアで起動し、「コンピューターを修復する」→「トラブルシューティング」
  と進めていくと戻るらしい(試せてない・・)

 ■ファイルの復元
  先のバックアップ先フォルダに、vhdxがあるので、マウントすれば、中身が見えてファイル単位
  でのリストが可能となる。  


VMwareでの仮想ディスクのタイプ

VMwareでの仮想ディスクのタイプについてちょっとまとめてみた。
VMware環境で、仮想ディスクを作成する際には、

 1.Thick Provisioning (Lazy Zeroed)
 2.Thick Provisioning (Eager Zeroed)
 3.Thin Provisioning 

がある。

Lazy ZeroedとEager Zeroedの違い

 VMware上の動作としては、

 ・Lazy Zeroedは仮想ディスク作成時に、スペースを確保するものの、Zero埋めせず、初回書き込み時にブロックに対してZero埋めする。

 Eager Zeroed は仮想ディスク作成時に、Zero埋めする。
 
そのため、
 
 ・Lazy Zeroedは初期作成時の時間は短い(大容量ディスクの場合特に)。ストレージの負荷も低い。
 ・Lazy Zeroedは初回書き込み時にちょっと性能劣化が発生する(ブロックに対してZero埋めするから?)。
 ・Lazy Zeroedは、ディスク作成ではZero埋めしないので、昔のデータが残っている可能性がある(セキュリティ上リスクになる可能性がある)

となる。またEager Zeroedの特徴は上記との裏腹になるが、

 ・Eager Zeroは初期フォーマットは時間がかかる
 ・Eager Zeroは初回の書き込みが速い(比較して)
 ・すべてZero埋めするので、過去データもフォーマットされる

という違いがあるみたい。ちなみにVAAI対応したストレージを使っている場合、Zero埋めの負荷をストレージ側にオフロードすることで、性能向上を図れる。

また外部のストレージ(SANストレージなど)でThin Provisioning との組み合わせも考慮がある。
ストレージ製品によっては、Thin Provisioningを使った場合でも、VMware上のThick Provisioningの場合は、Lazy ZeroedだどろうがEager Zeroedだろうが使ったことになる。hp社製3PARでは、その場合でもZero埋めされた部分は割り当てされないため、ストレージ側のThin Provisioningの機能が活かされるみたいです。ただし、このストレージの機能が、VMwareのThinと比較したときにどれくらいのメリットがあるのか?は気になるところ。(VMware Fault ToleranceがThick/Eager Zeroedのみサポートなので、その時?)

参考

※)http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf (31ページあたり)

※)http://h50146.www5.hp.com/products/storage/whitepaper/pdfs/3par/4aa3-4023enw.pdf

2014年5月17日土曜日

Linux(CentOS)でGitを使ってみる

CentOSでGitを使った見た。備忘録。

1.インストール&環境設定

 # yum install git-core

 でインストール。1.7.1がインストールされた。次に設定進む。

 ・ユーザー情報の設定
 # git config --global user.name "Chikayuki Hayashi"
 # git config --global user.email testuser@gmail.com

 ・エディター(vim)、Diffツール(vimdiff)の設定
 # git config --global core.editor vi
 # git config --global merge.tool vimdiff

 設定した内容の確認をしてみる。
 # git config --list
 user.name=Chikayuki Hayashi
 user.email=testuser@gmail.com
 core.editor=vim
 merge.tool=vimdiff
 core.repositoryformatversion=0
 core.filemode=true
 core.bare=false
 core.logallrefupdates=true

 ちなみに上記の設定は
  ~/.gitconfig
 に保存されている

 # cat ~/.gitconfig

 [user]
         name = Chikayuki Hayashi
         email = testuser@gmail.com
 [core]
         editor = vim
 [merge]
         tool = vimdiff

 /etc/gitconfigにも同様に記載することができ、この場合や
  /etc/gitconfig → ~/.gitconfig
 の順で読み込まれ、最後の設定値が優先される。

2.便利な設定

 自動補完

 gitコマンドの補完機能。ソースからcontrib/completion/git-completion.bashをゲットする。

 # wget 'http://git.kernel.org/?p=git/git.git;a=blob_plain;f=contrib/completion/git-completion.bash;hb=HEAD' -O git-completion.bash 
 # mv git-completion.bash ~/.git-completion.bash
  # vi ~/.bashrc
  ===
  source ~/.git-completion.bash
  ===
 # source ~/.bashrc

 エイリアス

 gitコマンドの中でエイリアスを設定することができる。
 たとえばログ出力のフォーマットを変えて見やすくしたい場合は、、

 # git config --global alias.loglist 'log --pretty="%ad --- %h - %s " --date=iso'
 # git loglist
 2014-05-10 07:53:48 +0000 --- 47028f4 - test
 2014-05-10 06:58:07 +0000 --- 2da101f - firsrt commit

 となる(このコマンドのほうが見やすい気がする)。上記の例だと、エイリアスにlogコマンドのオプションもつけることができる

 # git loglist --after=2014-05-11
 2014-05-10 07:53:48 +0000 --- 47028f4 - test
 2014-05-10 06:58:07 +0000 --- 2da101f - firsrt commit

 これは
 # git log --pretty="%ad --- %h - %s " --date=iso --after=2014-05-11
 と一緒。


3.使ってみる(ローカルレポジトリ)

 テストディレクトリを作成し、、

 # mkdir ~/git;cd ~/git

 管理対象となるファイルを適当に作り

 # touch test.txt

 ローカルレポジトリの作成し

 # git init

 作成したファイルをステージングエリアに追加し

 # git add . 

 ローカルレポジトリに登録する

 # git commit -m "first commit"

 次にファイルを変更してみて、

 # echo test > test.txt

 ワーキングツリーとステージングエリア(ローカルレポジトリではない)の内容を差分を見てみる

 # git diff test.txt
 diff --git a/test.txt b/test.txt
 index e69de29..9daeafb 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -0,0 +1 @@
 +test

 で、ステージングエリアに登録してみる。

 # git add . 

 この状態でワーキングツリーとステージングエリアの内容を差分を見てみると、、

 # git diff test.txt

 何も差分はない(あたりまえだけど仕組みを確認という意味で)。
 今度は、ステージングエリアとローカルレポジトリの差分を見てみる

 # git diff --cached test.txt
 diff --git a/test.txt b/test.txt
 index e69de29..9daeafb 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -0,0 +1 @@
 +test

 でたでた。でローカルレポジトリに登録し、、

 # git commit -m "edit"

 1つ前のコミットと最新のコミットの差分をみると

 # git show HEAD
 commit 913a194ac15b1b4a3e99e0a1ed33f620b3e58604
 Author: Chikayuki Hayashi <testuser@gmail.com>
 Date:   Fri May 16 13:33:20 2014 +0000

     edit

 diff --git a/test.txt b/test.txt
 index e69de29..9daeafb 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -0,0 +1 @@
 +test

 こんな感じ。ちなみにさっきのエイリアスに登録したコマンドで見てみると

 # git loglist
 2014-05-16 13:33:20 +0000 --- 913a194 - edit
 2014-05-16 13:08:28 +0000 --- 3b59ca5 - first commit

 次にファイルを再度更新して、コミットする。

 # echo test2 > test.txt
 # git add .
 # git commit -m "third commit"
 # git loglist
 2014-05-16 13:43:50 +0000 --- bfa6970 - third commit
 2014-05-16 13:33:20 +0000 --- 913a194 - edit
 2014-05-16 13:08:28 +0000 --- 3b59ca5 - first commit

 で1回目と3回目(最新)の差分チェックをてみると、

 # git show 3b59ca5..bfa6970
 commit bfa6970d18185e7f78c86ff16506977091459bb9
 Author: Chikayuki Hayashi <testuser@gmail.com>
 Date:   Fri May 16 13:43:50 2014 +0000

     third commit

 diff --git a/test.txt b/test.txt
 index 9daeafb..180cf83 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -1 +1 @@
 -test
 +test2

 commit 913a194ac15b1b4a3e99e0a1ed33f620b3e58604
 Author: Chikayuki Hayashi <testuser@gmail.com>
 Date:   Fri May 16 13:33:20 2014 +0000
 
     edit
 
 diff --git a/test.txt b/test.txt
 index e69de29..9daeafb 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -0,0 +1 @@
 +test

 こんな感じで変更経緯がわかる。ヘッダーなどの余計な情報を減らしたい場合は、

 # git show --pretty="%ad --- %h - %s " --date=iso 3b59ca5..bfa6970
 2014-05-16 13:43:50 +0000 --- bfa6970 - third commit

 diff --git a/test.txt b/test.txt
 index 9daeafb..180cf83 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -1 +1 @@
 -test
 +test2
 2014-05-16 13:33:20 +0000 --- 913a194 - edit
 
 diff --git a/test.txt b/test.txt
 index e69de29..9daeafb 100644
 --- a/test.txt
 +++ b/test.txt
 @@ -0,0 +1 @@
 +test

 ちょっとはみやすいかな。git logと一緒ですね。

4.使ってみる(リモートレポジトリ)
 
 最後にリモートレポジトリを使ってみる。

 まずssh keyを用意。今回は、以前Windows環境でSourceTreeを試したときに作成した、鍵とgitlabを使う。puttygenで作成したので、opensshに変換したファイルを、今回のCentosの~/.ssh/id_rsaとして保存しておく(パーミッションは600に)。

 次にリモートレポジトリを作成する(gitlab.com上のtestuserアカウントで作成)。

 で、クローンを作るディレクトリに移動して、Clone!ちなみにプロジェクトと同名のディレクトリが無いようしないと、エラーになる。。(※クローンじゃなければ、空じゃなくても大丈夫)

  # cd ~
 # rm -fR test/

 # git clone git@gitlab.com:testuser/test.git

 登録されていたファイルもゲットできました。ちなみに、httpsでアクセスしようとしたら、

 # git clone https://gitlab.com/testuser/test.git
 Initialized empty Git repository in /root/test/.git/
 error: The requested URL returned error: 401 Unauthorized while accessing  https://gitlab.com/testuser/test.git/info/refs

 fatal: HTTP request failed

 エラーになりました。URLにアカウントをつけないといけないらしいです。

 # git clone https://testuser@gitlab.com/testuser/test.git

 これをすると、パスワードが聞かれるので、入れればCloneができる。
 もしくは~/.netrcに情報を入れておくのでも対応できるみたい。
 machine gitlab.com
 login testuser
 password xxxx

 またリモートレポジトリは複数割り当てることができる。たとえば、もう1つtest9というプロジェクトを作成して、このローカルレポジトリに追加すると、、

 # git remote add test9 https://gitlab.com/testuser/test9.git
 # git remote -v
 origin  https://gitlab.com/testuser/test.git (fetch)
 origin  https://gitlab.com/testuser/test.git (push)
 test9   https://gitlab.com/testuser/test9.git (fetch)
 test9   https://gitlab.com/testuser/test9.git (push)

 となる。で、test9にプッシュできる。

 # git push test9 master
 Counting objects: 31, done.
 Compressing objects: 100% (21/21), done.
 Writing objects: 100% (31/31), 20.28 KiB, done.
 Total 31 (delta 9), reused 0 (delta 0)
 To https://gitlab.com/testuser/test9.git
  * [new branch]      master -> master

 とりあえずここまで・・

 ※)手元にあるレポジトリを、リモートレポジトリを作ってPUSHしたい場合は、
 1.リモートレポジトリを作成し、
 2.リモート対象を追加し、
   git remote add xxxx https://gitlab.com/testuser/yyyy.git
 3.上記追加したリモートにpushする
   git push xxxx master
 でいける。

(2018/4/13)備忘録として追記
$ git pull origin master

(gnome-ssh-askpass:12683): Gtk-WARNING **: cannot open display:

というエラーが出た場合、
$ unsetenv SSH_ASKPASS
 or
$ unset SSH_ASKPASS
としたあとに、再度試す。

2014年5月6日火曜日

tips:Windows環境のNTPの確認

ある環境で時刻が1秒ほどずれることがあり、その時の調べ方についてメモ。OSはWindows7系(Windows2008系も一緒かな)。

・IPアドレス(192.168..x)との時刻差分情報を表示する
 # w32tm /stripchart /computer:192.168.x.x /period:1
 ===
 C:\Users\user1>w32tm /stripchart /computer:192.168.x.x /period:1
 192.168.x.x [192.168.x.x:123] を追跡中。
 現在の時刻は 2014/05/06 23:09:38 です。
 23:09:38 d:+00.0000000s o:+00.1169166s  [                           *                           ]
 23:09:39 d:+00.0000000s o:+00.1013165s  [                           *                           ]

・時刻同期の設定関連の情報を表示する
 # w32tm /query /status
 ===
 C:\Users\user1>w32tm /query /status
 閏インジケータ: 0 (警告なし)
 階層: 5 (二次参照 - (S)NTP で同期)
 精度: -6 (ティックごとに 15.625ms)
 ルート遅延: 0.0971375s
 ルート分散: 0.1822261s
 参照 ID: 0x0xxxxxxx (ソース IP:  x.x.x.x)
 最終正常同期時刻: 2014/05/06 18:59:17
 ソース: ntp.example.com
 ポーリング間隔: 15 (32768s)

2014年5月4日日曜日

Windows環境でGitを使ってみる(SourceTree編)

Windows環境でGitを使ってみる。使い方としては
 ・explorerと統合して、簡単にファイルのバージョン管理 (日本語は大丈夫か?)
 ・MS Officeファイルの差分確認
でしょうかね。あとは番外編として、
 ・GitLabがなくても、複数のWindowsPC間で簡単にレポジトリを共有する
をやってみる。

Gitとのリモートレポジトリとしては、Gitlabを想定し、はインストールされていることを前提。
クライアントツールのインストールから。今回クライアントツールは、「TortoiseGit」と「SourceTree」を試してみる。

■「SourceTree」

1.リモートレポジトリを用意する

 GitLabサーバーをどこぞのOSに建ててもOKだし、gitlab.comを使ってもよい。自サーバーも簡単に建てられたので、ここではgitlab.comを使ってみる。といっても、サイトにアクセスした後は、自サーバーのものと何も変わらない。

※余談だけど、gitlab.comのバックアップ状況がわからなかった。レポジトリにPullすればバックアップ代わりになるとは思いますが、気になるのであれば自前でGitLabを立ち上げればBackupできる。


2.SourceTreeのインストール

 ここからモジュールを入手する。2014/5/3時点の最新バージョンは、1.5.2だった。
 ダウンロードしたら、インストールですが、色々なサイトにインストール手順がのっているので、適当に。





 ※gitがインストールされていない場合は、インストールするか?聞かれます
  (今回は一度Git For Windowsを入れていたので、聞かれず。。)

3.リモートレポジトリ接続のための公開鍵の登録

  SourceTreeのメニューから「ツール」-「SSHキーの作成/インポート」を実施。Puttyの画面が起動されるので、Keyを作成して、適当なフォルダに保存。今回は、d:\git\keyとする。

  キーを生成した後のPuTTYの画面で、「Public key for pasting in to OpenSSH authorized_keys file:」で表示されている鍵情報を、www.gitlab.comのSSH keyに登録する。

4.SourceTreeの初期設定

 SourceTreeのメニューから「ツール」-「オプション」を選択し、以下の設定をする。

 「全般」タブ
  ・SSHクライアントの設定
   SSHキー:3で作成したプライベートキーのファイルを指定
  ・その他
   プロジェクトフォルダ:デフォルトのローカルレポジトリの保存場所。今回はd:\git\repoとする。


 
5.サンプルのレポジトリの作成

 GitLab.com上のプロジェクトを作成する。(例:test)

6.ローカルレポジトリの作成

 SourceTreeの画面上のメニューから、「新規/クローンを作成する」を選択して進める。

7.Officeファイルの差分確認

 Officeファイルの差分チェックには、外部Diffツールを使用する。今回は、WinMergeを使用する。といっても、Diff機能がSourceTreeにマージされるのではなく、WinMergeを呼び出して、更新前後の比較ができる。
 
 事前準備

 WinMergeのインストールと、Office用のプラグインをインストールしておく。
  ■WinMerge(日本語版)
   http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html

  ■xdocdiff WinMerge Plugin
   http://freemind.s57.xrea.com/xdocdiffPlugin/index.html

 SourceTreeの設定

 SourceTreeのメニューから「ツール」-「オプション」を選択し、以下の設定をする。

 「Diff」タブ
  ・外部 Diff / マージ
   外部 Diff ツール:WinMerge


  
 差分チェック

 差分チェックできるポイントはいくつかある。

 a.作業ディレクトリとインデックス内の差分
  →この2つに差分がある場合、作業ディレクトリ内のファイル選択して外部Diffを起動すると、作業ディレクトリとインデックスの差分が表示される。



 b.インデックスとローカルレポジトリの差分
  →この2つに差分がある場合、インデックスのファイル選択して外部Diffを起動すると、インデックスとローカルレポジトリの最新版との差分が表示される。

 c.レポジトリ内の差分
  →ログ(履歴)から、選択して外部Diffを選択すると、1つ前のバージョンとの差分が表示される。

  

 マクロとかグラフはさすがにダメっぽい(WinMergeが対応していない)。これはgitツールではなく、別のツールの課題であり、今後に期待

8.所感

 Gitとしては、、

 ・Gitの概念を押さえておけば、ツールの手順としてはとても簡単(といっても一人で使っている分にはbranchとかmergeとかrebaseを使う場面が今のところないから、当たり前か。。)

 SourceTreeとしては、、

 ・画面は見やすい。わかりやすい。

 ・エクスプローラーと連携できたらいいのに。毎回ツールを起動しなけばならないのが、手間と言えば手間

 という所感。

TortoiseGitについては、次回に。