エックスサーバーを使ってます。このサイトもそうですが。
そしてGitもちょっと使ってます。
エックスサーバーにGitのファイルを保存することもできて便利だなって常々思ってます。
実際にエックスサーバーにGitのデータを保存しようとしたら色々はまったのでメモっておきます
前提
- 自分のPCにGitをインストールしている
- SSHが使える状態になってる(コマンドプロンプトでSSHって打って色々でてきたらOK
- Windows10
エックスサーバーの方には最初からGitが入っているみたいです。
目次
手順
1.SSH接続(すでにできてる人はスルーしてOK)
エックスサーバーのサイトから公開キーを取得します。
- エックスサーバーのサーバーパネル画面、「SSH設定」ページ
- 「SSH設定」をONにします。
- 「公開鍵認証用ペアの生成」タブからパスフレーズ(パスワード)を設定して確認画面へ進む
- キーを生成してキーファイルをダウンロードして任意の場所に保存
- 公開鍵登録、設定
接続を簡単にするために.sshフォルダを作成します。
- ファイルエクスプローラーから、Users/「ユーザ名」フォルダの直下に「.ssh」という名前の空のフォルダを作成
- [.ssh]フォルダ内に[config](拡張子無し)という名前のファイル名を作成
Host connectname HostName svxxxx.xserver.jp User username IdentityFile C:\xxxxxx.xxx Port 10022
上の例だとコマンドプロンプトから
[ssh connectname]
で接続できる。
HostNameはエックスサーバーインフォメーションパネルの[サーバー情報]
usernameはLinuxに接続するときのユーザー名
IdentityFileはダウンロードしたキーファイルのパス
ポートは 22を使うのが良くある設定らしいですが、10022を使う。エックスサーバーの設定でこうなってるもんだと思ってます。
2.使用中のGitプロジェクトにリモートリポジトリをセット
ここで詰まったんですが、SSH接続でリモートにプッシュとかしたいとき、
git remote add origin ssh://username/home/username/domainname.com/任意のフォルダ/xxxxx.git
みたいな感じで設定できました。
フォルダのパスがどう書けばいいのか分からなかった……。エックスサーバーのファイルマネージャから見れるフォルダだとusername.comですれば良いのかと思ったけど違った。
teratermでSSH接続してみてフォルダを確認して、そのフォルダパスを書いたらなんとかなった。
3.リモートリポジトリを初期化
ssh接続をします。接続の仕方は公式でもわかるかも。
git remote add で設定したフォルダに移動して
[git init --bare]
を入力。
例:
cd domainname.com/myfolder/xxxx.git/ git init --bare
フォルダは事前に作成しておく。作り方はぐぐるとわかるかと
--bareオプションはワーキングディレクトリを持たないGitフォルダを作成。
4.PUSH
git push -u origin master
をうってパスフレーズを入力。
とかすればプッシュできる、はずです。