Git環境構築(Windows、Ubuntu、Mac)

Gitの環境構築(Windows、Ubuntu、Mac)を解説します。

Gitの設定はOSによって微妙に違ったりするので、
この記事で整理できればと思います。

本記事では、
各OS上でGitを設定する方法と、
SSHを使用してGitリポジトリに接続する方法について触れます。

## 目次
1. [Windows環境でのGit設定](#windows環境でのgit設定)
2. [Ubuntu環境でのGit設定](#ubuntu環境でのgit設定)
3. [Mac環境でのGit設定](#mac環境でのgit設定)
4. [SSH鍵の生成とGitへの設定](#ssh鍵の生成とgitへの設定)
5. [Gitの初期設定](#gitの初期設定)

## Windows環境でのGit設定

### Gitのインストール

 [Git公式サイト](https://git-scm.com/download/win)からインストーラーをダウンロードします。
 下記のようなサイトです

![スクリーンショット 2025-03-15 12.10.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1290117/fd1d5b7e-68a8-4dd1-be3a-fbc424672f0b.png)


2.  ダウンロードしたインストーラーを実行します。
3. インストールオプションでは、基本的にデフォルト設定のままでも問題ありませんが、下記の部分は変えてもいいかもしれません。

   - 「Adjusting your PATH environment」では「Git from the command line and also from 3rd-party software」を選択
   -  「Configuring the line ending conversions」では「Checkout as-is, commit as-is」を選択

4. インストールが完了したら、コマンドプロンプトかGit Bashを開き、以下のコマンドでGitがインストールされたことを確認します：
```bash
git --version
```
これで正常にversionが出力されればOKです。

### Git Bashの使用

WindowsではGit Bashを使用することで、Linux/Macと同様のコマンドを使用できます。
Git Bash自体は他のアプリと同様にスタートメニューから起動できます。

![スクリーンショット 2025-03-15 12.18.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1290117/2605753e-3c0a-4d12-93d5-0695dee7acbd.png)


## Ubuntu環境でのGit設定

### Gitのインストール
Ubuntuの場合、Windowsとはだいぶ異なり、
コマンドでほぼ完了します。

1. 端末（ターミナル）を開きます。
2. パッケージリストを更新します(いつもの儀式)


```bash
sudo apt update
```

Gitをインストールします
```bash
sudo apt install git
```

インストールが完了したら、バージョンを確認します。
windowsのときと同様正常にversionが出力されればOKです。
```bash
git --version
```

というかUbuntuの場合、
何もしなくても最初からgitが入っているかもしれません。

## Mac環境でのGit設定

### Gitのインストール

MacもUbuntuと同じで、
もしかしたら最初から入っていたかもしれませんが、
もしインスールするとしたら、下記のようなやり方になるかなと思います。

#### 方法1：Xcodeコマンドラインツール
1. ターミナルを開きます。
2. 以下のコマンドを実行して、Gitを含むXcodeコマンドラインツールをインストールします。


```bash
xcode-select --install
```

3. ダイアログが表示されたら「インストール」をクリックします。
4. インストールが完了したら、Gitのバージョンを確認します：
```bash
git --version
```

#### 方法2：Homebrewを使用する場合
1. まだHomebrewがインストールされていない場合は、[Homebrew公式サイト](https://brew.sh/)の指示に従ってインストールします。
2. ターミナルで以下のコマンドを実行して、Gitをインストールします：
```bash
brew install git
```

3. インストールが完了したら、バージョンを確認します：
```bash
git --version
```


## SSH鍵の生成とGitへの設定
さてインストールしたので、次はSSH周りの設定です。

全てのプラットフォーム（Windows、Ubuntu、Mac）で以下の手順は概ね共通です。

### SSH鍵の生成

1. ターミナル（WindowsではGit Bash）を開き、以下のコマンドを実行します：
```bash
ssh-keygen -t ed25519 -C "your_email@example.com"
```
（古いシステムでed25519がサポートされていない場合は、`-t rsa -b 4096`を使用してください）

2. 鍵の保存場所を確認するプロンプトが表示されたら、デフォルトの場所（`~/.ssh/id_ed25519`）を受け入れるためにEnterキーを押します。
3. パスフレーズを設定するプロンプトが表示されたら、強力なパスフレーズを入力してください（推奨）。ただし、空のままにすることもできます。

### SSHエージェントの起動と設定

(windowsはGit Bash)

```bash
# SSHエージェントを起動
eval "$(ssh-agent -s)"

# SSHキーをエージェントに追加
ssh-add ~/.ssh/id_ed25519
```

### GitHubへのSSH公開鍵の追加（例）

1. 公開鍵をクリップボードにコピーします：

#### Windows (Git Bash)
```bash
cat ~/.ssh/id_ed25519.pub | clip
```

#### Mac
```bash
pbcopy < ~/.ssh/id_ed25519.pub
```

#### Ubuntu
```bash
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_ed25519.pub
```

2. GitHubにログインし、右上のプロフィールアイコンをクリックして「Settings」を選択します。
3. 左側のサイドバーで「SSH and GPG keys」をクリックします。
4. 「New SSH key」または「Add SSH key」をクリックします。
5. タイトルに分かりやすい名前を付け（例：「Work Laptop」）、「Key」フィールドに公開鍵を貼り付けます。
6. 「Add SSH key」をクリックして保存します。

### SSH接続のテスト（GitHub例）

```bash
ssh -T git@github.com
```

初回接続時は、接続確認のプロンプトが表示されるので「yes」と入力します。
成功すると「Hi username! You've successfully authenticated...」というメッセージが表示されます。

## Gitの初期設定

すべてのプラットフォームで共通の設定手順です。

### ユーザー情報の設定

```bash
git config --global user.name "あなたの名前"
git config --global user.email "あなたのメールアドレス"
```

### エディタの設定（オプション）

```bash
# Vimを使用する場合
git config --global core.editor vim

# Visual Studio Codeを使用する場合
git config --global core.editor "code --wait"
```

### ラインエンディングの設定

#### Windows
```bash
# 改行コードをチェックアウト時にCRLFに、コミット時にLFに変換
git config --global core.autocrlf true
```

#### Mac / Ubuntu
```bash
# 改行コードをチェックアウト時に変換せず、コミット時にLFに正規化
git config --global core.autocrlf input
```

### 設定の確認

現在のGit設定を確認するには、以下のコマンドを使用します：

```bash
git config --list
```

## まとめ
Windows、Ubuntu、Macの各環境でGitが正しく設定され、SSH経由でGitリポジトリに安全に接続できるようになりました。

Windowsの設定だけ微妙に違う部分が多いので、
最初は戸惑うかもしれませんが、慣れれば難しくないと思います。