Windows: Git GUIを使う準備
最終更新: 2017-11-02
目次
GitGUIを選ぶ理由
コマンドラインだけでは差分や履歴の表示が見づらいので、その点でGUIツールはありがたいです。
私が試したGit用のGUIツールの感想は以下のとおりです。
(2016年現在での感想)
名称 | 感想 |
---|---|
GitGUI | 軽快な動作。メモリ占有もわずか。 UIの日本語化が面倒で不完全。リポジトリを一括管理できず把握が面倒。複数のリポジトリを同時に操作する場合はウィンドウも複数開くので見づらい。 |
TortoiseGit | 軽い。日本語にほぼ対応。Diffが左右で比較できる表示形式で、さらに内容を修正することもできる。リビジョングラフやZIPで圧縮など、便利な機能がたくさん。 右クリックメニューを作業の起点にするという手法に、どうにも馴染めない。機能ごとに別ウィンドウとなっており、ウィンドウの管理・把握が面倒。 |
SourceTree | UIは日本語に完全対応。ひとつのウィンドウ内で操作を完結できる。 重い(←これが全て)。アトラシアンの会員登録が必要。 |
GitHubデスクトップ | UIは英語のみ。重い。リモートは「origin」しか認識しないなど、機能がシンプルすぎる。 |
SourceTreeに乗り換えようかとも思いましたが、動作が重くてメモリも食うので、やはりGitGUIを使い続けることにします。
ただ、Git初心者で日本語対応じゃないとどうしても不安という方には、下記の記事の通りSourceTreeがオススメです。
入手
ダウンロード
- 入手先: https://git-scm.com/
インストール
ダウンロードしたexeファイルを実行し、ウィザードに従ってインストールします。
なお、各画面に表示される選択肢の意味は下の記事で詳しく解説されています。
(参照: 【0から始めるGit】Gitをインストールしてみた )
次の項目だけは、上の紹介記事とは違うものを選びます。
理由は、UglifyJSなどで自動でファイルを生成すると、Windowsでは改行コードがCRLF
になってしまう場合があるからです。
私はLF
に統一してコミットしたいので真ん中を選びました。
リリースノートは読まなくていいので、チェックを外した後でFinish
を押します。
これで完了です。
初回設定
文字化け対策
ファイル内の日本語文章が文字化けしないよう設定します。
エクスプローラでの右クリックメニューの中から「Git Bash Here」を選んで、下記のコマンドを実行してください。
git config --global gui.encoding utf-8
リポジトリを作る
次項のユーザー設定のメニューを表示させるにはリポジトリが必要なので、先にリポジトリを作成します。
仮のフォルダでかまわないのでエクスプローラで開き、右クリックメニューの中から「Git GUI Here」を選びます。
なお、コマンドライン(Git Bash)の場合は、右クリックでGit Bash Here
を選んでgit init
と入力して実行するだけです。
ユーザー設定
リポジトリの存在する場所でGitGUIを起動します。
メニューからEdit > Options...
を選びます。
右側の枠で名前とメールアドレスを入力し、Default File Contents Encoding
をutf-8
に変更して保存します。
なお、名前とメールアドレスは本物でなくてもかまいません。
SSH公開鍵を作成する
Git GUIのメニューからヘルプ > SSHキーを表示
を選び、下記の手順で進めてください。
作成した公開鍵は普段は意識する必要はありませんが、リモートリポジトリとの通信などで用いられます。
なおWindowsでは、鍵のファイルはC:\Users\%USERNAME%\.ssh\
に存在します。
改行コードの警告を表示させない
インストールで改行コードをLFに自動変換するように設定していると、改行コードがCRLFのファイルをコミットしようとすると下記の警告がいちいち表示されます。
普段からLFでファイルを作成するようにしておけば問題ないのですが、どうしても自分のPCではCRLFを使いたいという場合は、この警告を表示させないように設定できます。
エクスプローラでの右クリックメニューの中から「Git Bash Here」を選んで、下記のコマンドを実行してください。
git config --global core.safecrlf false
日々の作業
ステージング
- Git GUIで
Rescan
を押します。 - 変更されたファイルがあるかどうか、
Unstaged Changes
の欄を確認します。 Stage Changed
を押して、次のコミット予定(ステージ)に加えます。
なお、ファイルを個別にステージに加えたり外したりもできます。
関連のない変更は別のコミットにすべきで、そのほうが履歴が分かりやすくなります。
コミット
- 今回のコミットに含まれる変更を、
Staged Changes (Will Commit)
の欄で確認します。 - 今回のコミットの説明文を記入します。
Commit
を押して、変更を確定します。
履歴を確認
コミットの履歴はメニューのRepository > Visualize All Branch History
で確認できます。
「GitGUI」とは別の「gitk」が開きます。
単に変更履歴を見るだけでなく、特定の時点に戻ったり、そこから枝分かれして別のソースコードを書く、ということもできます。
学習に役立つページ、及び関連記事
- Gitチュートリアルとトレーニング| Atlassian
- 動画: GitHub & Git Foundations • Training - YouTube
- 関連記事: 過去のコミットの利用例
- 関連記事: バージョン管理の対象から外したいファイルを「.gitignore」に記述する
- 関連記事: Git GUIの便利な機能 - Qiita
欄外: 不要な設定
現在では下記の設定は不要だと思うので、本題から省きました。
日本語のフォルダやファイルの名前の文字化けを防ぐ
そもそも致命的な文字化けとなる場合はほぼないので、下記の面倒な設定は割に合わないと思います。
git-gui.tcl
をコピーして、管理者権限の不要な場所へ移す。 ファイルの場所はGitのバージョンにより異なる。
※64bit機の場合は下記の「mingw32」を「mingw64」に読み替えること。1.9.5 C:\Program Files\Git\libexec\git-core\git-gui.tcl 2.5.3 C:\Program Files\Git\mingw32\libexec\git-core\git-gui.tcl 2.6.3 C:\Users\%USERNAME%\AppData\Local\Programs\Git\mingw32\libexec\git-core\git-gui.tcl 2.8.0 C:\Program Files\Git\mingw32\libexec\git-core\git-gui.tcl - 33行目に
encoding system utf-8
を追記する。 - 2170行目に
encoding system cp932
を追記する。 - 編集した
git-gui.tcl
を元ファイルと置き換える。
(33行目付近)
## ## Tcl/Tk sanity check encoding system utf-8 if {[catch {package require Tcl 8.4} err] || [catch {package require Tk 8.4} err]
(2170行目付近)
} else { set old_GIT_DIR {} } encoding system cp932 set pwd [pwd]
画面表示の日本語化
UIの日本語化は不要だと思います。
下記の面倒な作業をしてまで日本語化するくらいなら、まずは日本語対応のSourceTreeを使って、Gitに慣れた後でGitGUIに戻ればいいと思います。
(1) Git GUI
下記のページのとおりに進めてください。
(2) gitk
- 上記のページで扱っている、v1.9.5ポータブル版の
share\gitk\lib\msgs\
からja.msg
を取り出す。 - 下記の場所を開く。
- 64bit機:
C:\Program Files\Git\mingw64\share\
- 32bit機:
C:\Program Files\Git\mingw32\share\
- 64bit機:
gitk\lib\msgs\
を作成し、その中にja.msg
を設置する。