【Git】2020年冬のGit for Windowsインストール(Ver 2.29.2.2)

VSCodeくんから「早くGitを更新しなさい！」とありがたい通知を受け取った、2020年冬。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/ac56c963-108d-5eae-0861-8fe923ce5f9e.png)

Git for Windowsの最新版を設定しようとしたところ、新しい設定が増えていたのでメモの代わりとしてまとめました。
※なるべく原文の意味を崩さず確認したいと思ったため、DeepLを使って翻訳したものをそのまま載せています。

## 概要
Git for Windows (Ver 2.29.2.2) あたりで追加されている新規設定を順に追っていきます。

<font color="DarkGray">設定し終わったあとに気付いたのですが</font> **`Only show new opstions` （新しいオプションのみ表示）** という項目にチェックを入れていると（今回のインストールではデフォルトがチェック済みでした）言葉どおり **<font color="Red">新しい設定のみ表示される</font>** ようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/acb10ece-86e4-d7ad-4ebc-2a08580dc62f.png)

新規設定のみ確認ができる便利機能ですが、これに慣れてしまうと通常の設定方法を忘れそうな気がします。また、設定の細かい部分は検証していないため、参考程度でお願いします。

動作環境　OS：Windows10

## 設定をする
Git for Windows インストーラーのダウンロードまでが終わったものとして進めていきます。
※★マークは今回選んだ設定というメモ書きなので、必ずしもそれが正しいとは限りません。

### 1. Information
セットアップを続ける準備ができたら、Nextをクリックします。
![git_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/63c17bb9-a657-53c1-132c-9a2411543a8a.png)

### 2. 新規リポジトリでの初期ブランチ名の省略
```git init``` の後の初期ブランチの名前を Git にどうしてほしいですか？
![git2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/29a97949-1a08-3e39-a6cb-8d9be3a81cda.png)
**Git に決めさせましょう**　★選択
新しく作成したリポジトリの最初のブランチには、Git のデフォルトのブランチ名 (現在は: "master") を使用します。Git プロジェクトは近い将来、このデフォルトのブランチ名をより包括的な名前に変更する予定です。
<font color="DeepPink">「master」という言葉をはじめ、差別的なイメージを連想させる言葉を別の言葉に置き換えようという動きが起こっているため
参考：[Gitとブランチの命名について](https://sfconservancy.org/news/2020/jun/23/gitbranchname/)</font> 

**新しいリポジトリのデフォルトのブランチ名を上書きする**
多くのチームがデフォルトブランチの名前を変更しています。一般的な選択肢は "main"、" trunk" および "development" です。最初のブランチに使用する "git init" の名前を指定します。
<font color="DeepPink">ここで入力した名前が ```git init``` コマンドで最初に作成されるブランチ名となる</font> 

この設定は既存のリポジトリには影響しません。

### 3. git pull のデフォルトの動作を選択します
```git pull``` はデフォルトではどうすればいいのでしょうか？ 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/d880e92b-116f-5b7a-5a07-da6657e64de5.png)
**Default：デフォルト (fast-forward または merge)**　★選択
これは ```git pull``` の標準的な動作です。可能であれば現在のブランチを取得したブランチに早送りします。
> ```git pull -–ff``` が実行される

<font color="DeepPink">通常は Default (fast-forward or merge) を選択することが多い</font>

**Rebase：リベース**
現在のブランチを取得したブランチにリベースします。リベースするローカルコミットがない場合、これは fast-forward と同じです。
> ```git pull –-rebase``` が実行される

**Only ever fast-forward：ファストフォワードのみ**
フェッチされたブランチに早送りします。それができない場合は失敗します。
> ```git pull –-ff-only``` が実行される

注意：Git 2.27より ```git pull``` 時に警告メッセージが出る場合があるようです。
分岐したブランチを調整する方法を指定せずに pull するのはお勧めしません、とのこと……

- [Git 2.27 リリースノート](https://github.com/git/git/blob/v2.28.0/Documentation/RelNotes/2.27.0.txt)
- [警告ソース部分](https://github.com/git/git/compare/369ae7567a...d18c950a69)
- [Git 2.27 での git pull 時の warning について](https://qiita.com/tearoom6/items/0237080aaf2ad46b1963)


### 4. Credential Manager の選択
どの Credential Manager を設定する必要がありますか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/da66fc98-a4fe-e146-1df5-1bac2d6d8327.png)
**Git Credential Manager Core**　★選択
新しいクロスプラットフォーム版の Git Credential Manager を使いましょう。今後のGit Credential Managerの詳細はこちらをご覧ください。→ [Git Credential Manager Core](https://github.com/microsoft/Git-Credential-Manager-Core)
<font color="DeepPink">Git Credential Manager Core（GCM Core）とは：WindowsおよびmacOSで実行される.NETCore上に構築された安全なGit資格情報ヘルパー</font>

**Git Credential Manager**<font color="Red">**（廃止予定）**</font>
 Git Credential Manager for Windows は、Azure DevOps や GitHub などの資格情報を処理します。 (.NET framework v4.5.5.1 以降が必要)→ [Git Credential Manager for Windows](https://github.com/Microsoft/Git-Credential-Manager-for-Windows)

**None：なし**
Credential Managerを使用しないでください。

### 5. 実験的オプションの設定
どのような最先端の機能を有効にしたいですか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/ffcce799-559c-04db-949a-10ac57bd4e7a.png)
**疑似コンソールの実験的なサポートを有効にします。** ★選択しない
これにより、Winptyを使わずにNodeやPythonのようなネイティブコンソールプログラムをGit Bashウィンドウで実行できるようになりますが、まだ既知のバグがあります。

### 6. Installing
Setup が Git をコンピュータにインストールするまでお待ちください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/7955db16-e3e9-19a6-7927-4081a5b0fa45.png)

### 7. Git セットアップウィザードの完了
セットアップはGitのインストールを終了しました。インストールされているショートカットを選択してアプリケーションを起動することができます。Finish をクリックして Setup を終了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566811/970e56a9-ad01-c5b8-1220-778545258e43.png)

- [ ]  Git Bush を起動する
- [ ]  リリースノートを見る

これでインストール作業（バージョンアップ）は終了となります。
資格情報ヘルパーや実験オプション等、理解が追いついていないところはデフォルトのまま設定しましたが、問題なく動作しています。

## 参考URL
- [GitをWindowsにインストールする方法｜Git For Windows 2.28.0](https://blog.totsugeki.com/post-279/)
- [私家版 Git For Windowsのインストール手順](https://opcdiary.net/technical/programming/%E7%A7%81%E5%AE%B6%E7%89%88-git-for-windows%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86/)
- [Git for Windows のインストール手順](https://laboradian.com/git-installation-on-wndows/)

各バージョン情報の変更点など

- [Git for Windows 2.28.0](https://github.com/git-for-windows/git/releases/tag/v2.28.0.windows.1)
- [Highlights from Git 2.28](https://github.blog/2020-07-27-highlights-from-git-2-28/)
- [Git for Windows 2.29.0](https://github.com/git-for-windows/git/releases/tag/v2.29.0.windows.1)
- [Highlights from Git 2.29](https://github.blog/2020-10-19-git-2-29-released/)

最後まで見ていただきありがとうございました。