GitでバックアップOnエックスサーバー

エックスサーバーを使ってます。このサイトもそうですが。

そしてGitもちょっと使ってます。

エックスサーバーにGitのファイルを保存することもできて便利だなって常々思ってます。

実際にエックスサーバーにGitのデータを保存しようとしたら色々はまったのでメモっておきます

前提

  • 自分のPCにGitをインストールしている
  • SSHが使える状態になってる(コマンドプロンプトでSSHって打って色々でてきたらOK
  • Windows10

エックスサーバーの方には最初からGitが入っているみたいです。

目次

SSH接続
リモートリポジトリセット
リモートリポジトリ初期化

手順

1.SSH接続(すでにできてる人はスルーしてOK)

エックスサーバーのサイトから公開キーを取得します。

  1. エックスサーバーのサーバーパネル画面、「SSH設定」ページ
  2. 「SSH設定」をONにします。
  3. 「公開鍵認証用ペアの生成」タブからパスフレーズ(パスワード)を設定して確認画面へ進む
  4. キーを生成してキーファイルをダウンロードして任意の場所に保存
  5. 公開鍵登録、設定

接続を簡単にするために.sshフォルダを作成します。

  1. ファイルエクスプローラーから、Users/「ユーザ名」フォルダの直下に「.ssh」という名前の空のフォルダを作成
  2. [.ssh]フォルダ内に[config](拡張子無し)という名前のファイル名を作成

上の例だとコマンドプロンプトから

[ssh connectname]

で接続できる。

HostNameはエックスサーバーインフォメーションパネルの[サーバー情報]➡[ホスト名]から。

usernameはLinuxに接続するときのユーザー名

IdentityFileはダウンロードしたキーファイルのパス

ポートは 22を使うのが良くある設定らしいですが、10022を使う。エックスサーバーの設定でこうなってるもんだと思ってます。

2.自分のPCにGitのリモートリポジトリをセット

ここで詰まったんですが、SSH接続でリモートにプッシュとかしたいとき、

git remote add origin ssh://username/home/username/domainname.com/任意のフォルダ/xxxxx.git

みたいな感じで設定できました。

フォルダのパスがどう書けばいいのか分からなかった……。エックスサーバーのファイルマネージャから見れるフォルダだとusername.comですれば良いのかと思ったけど違った。

teratermでSSH接続してみてフォルダを確認して、そのフォルダパスを書いたらなんとかなった。

3.リモートリポジトリを初期化

ssh接続をします。接続の仕方は公式でもわかるかも。

作りたいフォルダに移動して

[git init --bare]

を入力。

例:

フォルダは事前に作成しておく。作り方はぐぐるとわかるかと

--bareオプションはワーキングディレクトリを持たないGitフォルダを作成。

4.PUSH

git push -u origin master

をうってパスフレーズを入力。

とかすればプッシュできる、はずです。