こんにちは。
Githubを使用せずにXserverでgitリポジトリを作成して、開発環境と本番環境のソース管理をしたいと思います。以下のような図での運用を目指して作成します。


ついでにgitコマンドが苦手(というかコマンド全般苦手…)なのでSourceTreeを使ってXserverのGitリポジトリに接続してみたいと思います。
手順は以下の通りです。
- XserverでSSH接続用鍵の取得
- SourceTreeでSSH接続
- Xserverにリモートリポジトリ(Bare)を作成
- SourceTreeでローカルにリポジトリをclone
①XserverでSSH接続用鍵の取得
XServerのサーバーパネルにログインして、「SSH設定」をクリックします。

「SSH設定」をONにします。
パスフレーズを入力して、確認画面に進みます。
「生成します」
秘密鍵のダウンロードが始まります。
②SourceTreeでSSH接続
ダウンロードした秘密鍵をSourceTreeでインポートしていきます。
SourceTreeで[ツール]-[SSHキーの作成/インポート…]を選択します。


インポート成功と「PuTTY’s」フォーマットでキーを保存してね、というメッセージが表示されます。
言われるがまま、[Save Private Key]を選択して、保存します。
すると、Windows10の右下にあるインジケーター領域にPageantというPuTTY認証エージェントが起動します。これはサーバーに接続しているときにいつでも使用できるように、秘密キーをメモリに保持しています。
これでいったんSourceTree作業は終わります。
③Xserverにリモートリポジトリ(Bare)を作成
ではでは、ようやく、最初にも出したこの図で言うと真ん中の黒い部分を作成します。
XserverにSSH接続します。Bareリポジトリはフォルダ名に.gitを付ける運用になっているそうですので、非公開ディレクトリにXXXXX.gitフォルダを作成して移動してから、「git init –bare –shared」します。
$ cd git_repo/XXXXX.git $ git init --bare --shared
④SourceTreeでローカルにリポジトリをclone
ローカルのSourceTreeに戻ります。まずは先ほど作成したXserverのリモートリポジトリ(Bare)に接続します。
cloneを選択して、以下を入力していきます。
Xserverのリモートリポジトリの場合はURLは以下のように指定します。
ssh://サーバーID@ホスト名:10022/home/XXXXX/XXXXX/git_repos/XXXXX.git
ちなみに、URLを入力した時に「SSHエージェント(Pageant)は起動していますが、接続に失敗しました」という謎のメッセージが出まして、暫く接続出来ませんでした。結局、「②SourceTreeでSSH接続」で作成したppkを削除してSourceTreeを再起動して「②SourceTreeでSSH接続」をやり直したら解決しました。。ちょっと原因不明ですが、参考になれば幸いです。