WindowsユーザーでGitのクライアントツールとしてSourcetreeを使用して、GitHubとBitbucketのリポジトリと接続する人向けの初期設定手順です。
Gitについて、Sourcetreeの内蔵Gitを使用する手もありますが、コマンドプロンプトでgitコマンドが使えなかったり、Sourcetreeの起動も遅くなる(らしい)ので、Git for windwosをインストールして、SourcetreeではシステムGitを使用する設定を紹介したいと思います。
手順概要としては以下のとおりです。
- Git for Windows, Sourcetreeのインストール
- sshキーの生成とGit Bashでの読み込み
- Sourcetreeでのsshキーの読み込み
- GitHub, Bitbucketでsshキーの登録
Git for windowsのインストール
Git for windows公式サイトからインストーラをダウンロードし、ダウンロードしたインストーラを実行します。
インストーラのデフォルト設定のままでもいいと思いますが、私の設定、また、個人的に設定を変更した方がいいと思う部分について、記載したいと思います。個人的に設定を変更したほうがいいと思っている箇所については【変更推奨】という印を付けています。
-
[Additional icons]のチェックを外す
- Git Bashは基本的に、Sourcetreeを経由して使用するので、Git Bashへのショートカットを作成しないようにした
-
[Windows Explorer integration]のチェックを外す
- Explorerからgitを使用することもないのでチェックは外した
-
サクラエディタを設定
- コミットメッセージ等を編集するときに使用するエディタの設定。テキストを簡単に修正することしかないので、シンプルかつ起動が早いサクラエディタを設定しています。好みのエディタを設定すればいいと思います
-
【変更推奨】[Checkout as-is, commit Unix-style line endings]を選択
- Dockerを使用する場合などで改行コードがLF→CRLFに変換されると起動しなくなったりするので、チェックアウト時は改行コードの自動変換がされない設定にします
- Windowsでファイルを作成したとき、改行コードがCRLFになることが多いのですが、リポジトリではLFで管理したいので、改行コードLFに変換するようにします(Gitでは基本はLFで保存することが推奨されている)
SourceTreeのインストール
Sourcetree公式よりインストーラのダウンロードし、ダウンロードしたインストーラを実行します。
インストール時の注意点は以下のとおりです。
- 途中で、Bitbucketのログインが求められたら、Bitbucketのアカウントを作成し、ログインします
- Mercuialは使わないのでインストールしなくていいです
- SSHキーを読み込ませるか聞かれたら、[いいえ]を選択してください
sshキーの作成と、Git bashにsshキーの登録
以前sshキーを作成している場合は、ホームディレクトリ直下の.sshディレクトリにid_rsa, id_rsa.pub, id_rsa.ppkファイル等がある場合があります。
今回紹介する手順では、id_rsa, id_rsa.pub, id_rsa.ppkファイルを作成しますので、ファイル名の変更、または.sshディレクトリのディレクトリ名の変更、または生成するファイル名を別の名前で保存し、今回の手順で適宜読み替えて作業を進めてください。
- Git Bashを開き、「ssh-keygen」コマンドを発行。sshキーのファイル名を聞かれますが、デフォルトのままでいいと思います。デフォルトのままにする場合は、何も入力せずにEnterキーを打ちます。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/mongol/.ssh/id_rsa):
Created directory '/c/Users/mongol/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/mongol/.ssh/id_rsa.
Your public key has been saved in /c/Users/mongol/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:(以下省略)
- そのままGit Bashで「ls .ssh -l」コマンドを発行し、id_rsaとid_rsa.pubの2ファイルが生成されたことを確認します
$ ls ~/.ssh -l
total 5
-rw-r--r-- 1 mongol 197609 2602 12月 22 14:41 id_rsa
-rw-r--r-- 1 mongol 197609 572 12月 22 14:41 id_rsa.pub
- そのままGit Bashを使用して、
eval $(ssh-agent)
コマンドを発行し、ssh-agentを起動します。ssh-add ~/.ssh/id_rsa
コマンドを発行し、sshキーを登録します。
$ eval $(ssh-agent)
Agent pid 9700
$ ssh-add ~/.ssh/id_rsa
Identity added: /c/Users/mongol/.ssh/id_rsa (mongol@mongol-note-pc)
これでGit Bashにsshキーが登録できました。
SourceTreeでのSSHキー読み込み
ssh-keygenで生成したsshキーはOpenSSH形式ですが、SourceTreeではPuTTyを利用してssh通信を行うため、PuTTy形式のsshキーが必要になります。
PuTTYを使ってPuTTY形式のsshの秘密鍵(プライペートキー)を作成して読み込ませる必要があります。
- PuTTy形式のSSHプライベートキーの作成します。Sourcetreeを開いて、ツールバーの[ツール] > [SSHキーの作成/インポート]をクリックします。PuTTY Key Generatorウィンドウが開きます
- [Actions]の[Load]ボタンをクリックします。開いたファイル選択ダイアログでは.ppkファイルのみに絞られているので、All Filesにして、id_rsaを選択します。
- 警告が出ますが、OKをクリックします。
- [Actions]の[Save private key]ボタンをクリックします。passphraseなしで保存していいかという旨の警告が出てきますので、OKボタンをクリックします。id_rsa.ppkというファイル名でPuTTY形式の秘密鍵を保存します。
- タスクトレイから「Pageagent」を右クリックし、「Add Key」を選択します
- 同じくタスクトレイから「Pageagent」を右クリックし、「View Keys」を選択。読み込まれていることを確認します
GitHubとBitbucketに公開キーを登録
-
GitHubに公開キーを追加
- GitHubを開き、右上の自分のアイコンをクリックし、[Settings]を選択します
- 左のナビゲーションバーから[SSH and GPG keys]を選択し、SSH keysの画面が開くので、[New SSH key]ボタンをクリックします。
- TitleにSSHキーの登録名を任意に設定し(端末名が分かるようにしておくと良い)、keyに.sshフォルダのid_rsa.pubの中身をコピペします。[Add SSH key]ボタンをクリックします
-
Bitbucketに公開キーを追加
- Bitbucketを開き、左下の自分のアイコンをクリックし、[Bitbucket settings]を選択します
- 左のナビゲーションバーから[SSH鍵]を選択し、SSH 鍵の画面が開くので、[鍵を追加]ボタンをクリックします。
- LabelにSSHキーの登録名を任意に設定し(端末名が分かるようにしておくと良い)、keyに.sshフォルダのid_rsa.pubの中身をコピペします。[鍵を追加]ボタンをクリックします