Github導入手順

## GitHub導入ガイド：ユーザー作成からソース管理まで

### はじめに
GitHubは、ソースコード管理を効率化し、チームのコラボレーションを促進するための強力なツールです。この記事では、同じ企業内の別チームがすでに導入しているGitHubを利用して、あなたのチームがスムーズに導入できるように手順を説明します。

### ステップ1：GitHubアカウントの作成
1. **GitHubの公式サイト**にアクセスし、アカウントを作成します。
2. 必要な情報（ユーザー名、メールアドレス、パスワード）を入力して、アカウントを作成します。
3. メールアドレスの確認を行い、GitHubアカウントを有効化します。

### ステップ2：組織の管理者にユーザー追加を依頼
1. **組織の管理者に連絡**し、あなたのGitHubユーザー名を伝えて、組織にユーザー追加を依頼します。
2. 管理者がユーザー追加を行うと、組織のメンバーとして招待メールが届きます。
3. 招待メールを確認し、リンクをクリックして招待を受け入れます。

### ステップ3：リポジトリの作成依頼
1. 管理者に新しいリポジトリの作成を依頼します。リポジトリ名、公開/非公開の設定などを伝えます。
2. 管理者がリポジトリを作成し、あなたをコラボレーターとして追加します。
3. 招待メールを確認し、リポジトリへのアクセスを確認します。

### ステップ4：Gitのインストールと設定
1. **Gitの公式サイト**からGitをダウンロードし、インストールします。
2. インストール後、ターミナル（コマンドプロンプト）を開き、次のコマンドを実行してGitの設定を行います。

```sh
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```

### ステップ5：SSHキーの生成と設定

1. **SSHキーの生成**
   ターミナル（コマンドプロンプト）を開き、次のコマンドを実行してSSHキーを生成します。メールアドレスはGitHubに登録しているものを使用します。

   ```sh
   ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
   ```

   コマンドを実行すると、キーの保存場所を尋ねられます。デフォルトの保存場所（`~/.ssh/id_rsa`）を使用します。また、パスフレーズを設定することも推奨されます。

2. **SSHエージェントの開始**
   次のコマンドでSSHエージェントを開始し、生成したSSHキーを追加します。

   ```sh
   eval "$(ssh-agent -s)"
   ssh-add ~/.ssh/id_rsa
   ```

3. **SSHキーのコピー**
   SSH公開キーをクリップボードにコピーします。

   ```sh
   pbcopy < ~/.ssh/id_rsa.pub  # MacOS
   cat ~/.ssh/id_rsa.pub | clip  # Windows
   xclip -sel clip < ~/.ssh/id_rsa.pub  # Linux
   ```

4. **GitHubアカウントにSSHキーを追加**
   GitHubの設定ページ（[SSH and GPG keys](https://github.com/settings/keys)）に移動し、「New SSH key」ボタンをクリックします。キーのタイトルを入力し、コピーした公開キーをペーストして「Add SSH key」ボタンをクリックします。

### ステップ6：リポジトリのクローン（SSH接続）

1. **SSH URLをコピー**
   クローンしたいリポジトリのページに移動し、「Code」ボタンをクリックして、SSHのURLをコピーします。

2. **リポジトリをクローン**
   ターミナルを開き、次のコマンドを実行してリポジトリをクローンします。

   ```sh
   git clone git@github.com:organization/repository.git
   ```

### ステップ7：ローカル設定

1. **Git設定の確認**
   クローンしたリポジトリのディレクトリに移動し、Gitの設定を確認します。

   ```sh
   cd repository
   git config --list
   ```

   必要に応じて、ローカルリポジトリ固有の設定を行います。

   ```sh
   git config user.name "Your Name"
   git config user.email "your.email@example.com"
   ```

2. **`.gitignore`ファイルの作成**
   ローカル開発環境固有のファイルやディレクトリをGitの追跡対象から除外するために、`.gitignore`ファイルを作成します。以下は一般的な例です。

   ```sh
   touch .gitignore
   echo "node_modules/" >> .gitignore
   echo ".env" >> .gitignore
   echo "*.log" >> .gitignore
   ```

3. **ブランチ設定**
   新しいブランチを作成し、ブランチ戦略に従って作業を開始します。

   ```sh
   git checkout -b feature/your-feature-name
   ```

### ステップ8：変更のコミットとプッシュ

1. **変更のステージング**
   ファイルを編集し、次のコマンドで変更をステージングします。

   ```sh
   git add .
   ```

2. **変更のコミット**
   変更をコミットします。

   ```sh
   git commit -m "Add a descriptive message about the changes"
   ```

3. **変更のプッシュ**
   変更をリモートリポジトリにプッシュします。

   ```sh
   git push origin feature/your-feature-name
   ```

### ステップ9：プルリクエストの作成

1. GitHubのリポジトリページにアクセスし、「New pull request」ボタンをクリックします。
2. プルリクエストのベースブランチと比較するブランチを選択し、変更内容を確認します。
3. プルリクエストのタイトルと詳細を記入し、「Create pull request」ボタンをクリックします。

### 必要なドキュメント

1. **Git使用ガイド**: Gitの基本コマンドと操作方法を記載。
2. **ブランチ戦略ドキュメント**: チームのブランチ戦略と運用ルールを記載。
3. **コミットメッセージガイドライン**: 一貫したコミットメッセージを推奨。
4. **コードレビューガイドライン**: プルリクエストのレビュー方法と基準を記載。

### まとめ

GitHubの導入は、チーム全体の開発効率を向上させ、コードの品質を保つために非常に有用です。上記の手順に従って、スムーズな導入と運用を目指しましょう。Gitの基本操作やブランチ戦略を理解し、チーム全員が効率的にコラボレーションできる環境を整えましょう。