ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

Windows 10 で Git 環境を整える

自分用メモ。 昔は GitHub Desktop をインストールすれば Git Shell も使えるようになって PowerShell で快適 Git 生活が送れていたのだけど、最近 GitHub Desktop をインストールしてみたところ、どうやら Git Shell は同梱されないようになってしまったっぽい。

今ならこうすると良さそう、というメモ。

Git 環境を整える

GitHub Desktop インストール

人によっては全然いらないと思うけど、あったらあったで便利なので。

GitHub Desktop | Simple collaboration from your desktop

起動したら GitHub にログイン。 それで Git の設定でユーザー名やメールアドレスが自動的に設定されるので便利。

Git for Windows をインストール

GitHub Desktop にも git コマンドは同梱されているけど、GitHub Desktop とは独立してバージョンアップなどをできるように Git for Windows をインストールしておく。

Git - Downloading Package (Git 本家サイトの Git for Windows のダウンロードページ)
Git for Windows (こっちは Git for Windows のサイト)

インストール途中の選択肢で、push 時や pull 時の改行コードの変換をどうするか聞いてくれる。 が、as-is を選んでも改行コードが変換されないようにならなかった。 (なんでだろ。)

git config --global core.autoCRLF false

しょうがないので上記コマンドを後から実行した。

posh-git をインストール

PowerShell で Git が便利になる。 タブでサブコマンドやブランチ名の補完をしてくれたり、プロンプトに現在のブランチを表示してくれたりする。 (昔の GitHub Desktop に同梱されていた Git Shell で PowerShell を使う場合には自動で有効になってた。)

posh-git by dahlbyk
Git - PowershellでGitを使う

書かれてる通りにインストール。

必要な設定

文字化け (?) 対応

初期状態だと git log などで日本語の表示がおかしくなる。 文字化けというか、バイト値が 16 進数表記で連なる感じ。

git config --global core.pager "LESSCHARSET=utf-8 less"

という感じで、config の core.pager を 「LESSCHARSET=utf-8 less」 に設定すれば良さそう。

~\Documents\test [master]> git log --graph --decorate
* commit a5e5b4d21432f3fcba4ffbf1dd0d4bc598c4b051 (HEAD -> master)
  Author: Nobuoka Yu <nobuoka@vividcode.info>
  Date:   Wed Aug 8 23:33:26 2018 +0900

      <E3><81><93><E3><82><93><E3><81><AB><E3><81><A1><E3><81><AF>

~\Documents\test [master]> git config --global core.pager "LESSCHARSET=utf-8 less"

~\Documents\test [master]> git log --graph --decorate
* commit a5e5b4d21432f3fcba4ffbf1dd0d4bc598c4b051 (HEAD -> master)
  Author: Nobuoka Yu <nobuoka@vividcode.info>
  Date:   Wed Aug 8 23:33:26 2018 +0900

      こんにちは
テキストエディタの設定を 「メモ帳」 にする

デフォルトだと Vim が起動するが、日本語の表示がうまくされないのでメモ帳を使うようにする。

git config --global core.editor "notepad"