【Windows】SourceTree と GitHub の連携
【Windows】SourceTree と GitHub の連携
Windows環境で SourceTree と GitHub を連携する手順をまとめました。
1. 準備
以下の準備を行ってください。
- SourceTree のインストール: 未インストールの場合は、SourceTree公式サイト からダウンロードしてインストールします。
- Git のインストール: SourceTree は Git の GUI クライアントです。通常は、SourceTree のインストール時に Git も一緒にインストールするか、既存の Git を使用するかを選べます。
- GitHub アカウント: GitHub アカウントが必要です。
- GitHub リポジトリ: Push / Pull したい GitHub 上のリモートリポジトリが必要です。未作成の場合は GitHub 上で作成してください。
2. SourceTree に GitHub アカウント(認証情報)を追加する
-
SourceTree を開きます。
-
メニューバーから「ツール」>「オプション」を選択します。
-
「認証」タブを開きます。
-
「追加」ボタンをクリックして、新しいアカウントを追加します。
-
アカウント情報を入力します。
-
ホスティングサービス:
GitHub
-
優先するプロトコル:
SSH
-
認証:
OAuth
-
ホスティングサービス:
-
「OAuth トークンを再読み込み」をクリックし、GitHub アカウントでログインします。
3. SourceTree(Git)と GitHub の連携方法
Git サーバーへのアクセスは SSH 経由が一般的です。SSH (ポート22) へのアクセスが制限されている場合、HTTPS (ポート443) 経由で Git リポジトリにアクセスできます。ネットワーク制限されている場合、Personal access tokens を設定して、Git over HTTPS を使用してください。ここでは一般的な SSH 経由での接続方法について説明します。
3.1 SSH キーの生成
-
コマンドプロンプトを開き、以下のコマンドで SSH キーペアを生成します。
ssh-keygen -t ed25519 -C "your_email@example.com"
-
C:\Users\<ユーザー名>\.ssh\id_ed25519
(秘密鍵)とid_ed25519.pub
(公開鍵)が作成されます。 -
id_ed25519.pub
(公開鍵)の内容をコピーしておきます。
3.2 SSH エージェントの起動(パスフレーズを設定した場合)
SSH エージェント(ssh-agent
)は、SSH キーのパスフレーズを記憶するためのプログラムです。
-
Windows の検索バーで
services.msc
を入力して「サービス」管理ツールを開きます。 -
「OpenSSH Authentication Agent」を探します。
-
状態が「実行中」でなければ、右クリックして「開始」を選択します。
-
スタートアップの種類を「自動(遅延開始)」または「自動」に変更しておくと、PC 起動時に自動で起動します。
-
コマンドプロンプトで以下を実行して、SSH キーを追加します。
ssh-add %USERPROFILE%\.ssh\id_ed25519
-
パスフレーズを入力します(設定している場合)。
3.3 公開鍵を GitHub に登録する
-
GitHub にログインします。
-
右上のアイコンをクリックし、「Settings」を選択します。
-
左メニューから「SSH and GPG keys」を選択します。
-
「New SSH key」ボタンをクリックします。
-
「Title」には識別しやすい名前(例:
My Work Laptop
)を入力します。 -
「Key」のテキストエリアに、コピーした公開鍵の内容を貼り付けます。
-
「Add SSH key」をクリックします。
3.4 SourceTree 側の設定
-
SourceTree を開きます。
-
メニューバーから「ツール」>「オプション」を選択します。
-
「全般」タブを開き、以下を設定します。
-
SSH キー:
C:\Users\<ユーザー名>\.ssh\id_ed25519
(秘密鍵)のパス -
SSH クライアント:
OpenSSH
SSH クライアントとしては PuTTY(Plink)も使用できますが、OpenSSH の方がより一般的で、GitHub との接続も安定して行えます。そのため OpenSSH の使用を推奨します。
-
SSH キー:
-
「OK」をクリックして設定を保存します。
Discussion