XSERVER

エックスサーバーでGitを使う方法を紹介します。

エックスサーバーでgit使いたいんだけど使えるのかな?

使えますよ!

この記事ではエックスサーバーでGitを使う方法を書いていきたいと思います。

この記事で分かること

  • エックスサーバーでGitを使う方法
  • エックスサーバーでgit cloneする
  • ノンベアリポジトリの作成
  • ベアリポジトリの作成
  • ローカルからエックスサーバーのリポジトリにPush

エックスサーバーでGitを使いたかったら参考にしてみてください。

エックスサーバーでGit使っていきましょう。

エックスサーバーでGitを使う方法

エックスサーバーには最初からGitが入っています。SSH接続をして確かめてみるとちゃんと表示されますね。

[サーバーID@sv1111 ~]$ git --version
git version 1.8.3.1

SSH接続の方法

エックスサーバーにSSH接続するための方法は以下の記事で書いているので、参考にしてみてください。

XSERVER

エックスサーバーでSSH接続する方法を紹介します

2022/9/12  

この記事ではエックスサーバーでSSH接続する方法を書いていきます。 エックスサーバーを使っていて、自 ...

エックスサーバーでgit cloneをする

gitが入っているならgit cloneすることもできるはずなのでやってみましょう。鍵の設定をするのが面倒なので、HTTPSでcloneします。

git clone https://github.com/〇〇/〇〇.git
Cloning into '〇〇'...
remote: Enumerating objects: 34, done.
remote: Counting objects: 100% (34/34), done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 34 (delta 0), reused 34 (delta 0), pack-reused 0
Unpacking objects: 100% (34/34), done.

ちゃんとgit cloneすることができました。エックスサーバーのサーバー内にcloneしてきたプロジェクトが確認できます。

エックスサーバーにリモートリポジトリを作成してPushする

エックスサーバーにリポジトリを作成して、そのリポジトリにローカルからPushしてみましょう。

やってみることのイメージとしてはこんな感じ。

エックスサーバーで作成したリモートリポジトリと自分のパソコンでやりとりします。

  • エックスサーバーでリモートリポジトリの作成
  • ローカルからリモートリポジトリをPull
  • 編集してエックスサーバーのリモートリポジトリにPush

やっていきましょう。

ノンベアリポジトリの作成(エックスサーバー内)

まずはエックスサーバーでリモートリポジトリとなるリポジトリを作成します。やりとりするディレクトリを作成して、そこにgitリポジトリを作成。

/home/〇〇/
$ mkdir app
$ cd app
$ git init
Initialized empty Git repository in /home/〇〇/app/.git/

ベアリポジトリの作成(エックスサーバー内)

続いてgitの更新情報を管理するベアリポジトリを作ります。さっき作った.gitをcloneしてやる。

/home/〇〇/
$ mkdir git
$ cd git
$ git clone --bare --shared ~/app/.git

Cloning into bare repository 'app.git'...
warning: You appear to have cloned an empty repository.
done.

gitディレクトリを作成してその中で管理するようにしました。

現時点でこんな感じです。ちなみに今回エックスサーバーでGitを試すにあたってディレクトリ構造は適当に作っています。

  • 作業用リポジトリ・・・/home/〇〇/app/.git
  • git更新情報を管理するベアリポジトリ・・・/home/〇〇/git/app.git

ローカルでPull

作成したリポジトリをローカルでcloneします。

// 使う秘密鍵を指定したいので-cで指定
git -c core.sshCommand="ssh -i /Users/U/.ssh/秘密鍵.key" clone ssh://サーバーID@サーバーID.xsrv.jp:10022/home/〇〇/git/app.git

Cloning into 'app'...
Enter passphrase for key '/Users/ユーザー名/.ssh/秘密鍵.key':
warning: You appear to have cloned an empty repository.

これでさっきエックスサーバーで作ったリポジトリをcloneできました。

GitのSSH設定

この後Pushするに当たってSSH接続の設定をします。

vim ~/.ssh/config

ホストにエックスサーバーを指定して、IdentityFileに使用する秘密鍵のパスを指定しましょう。

Host サーバーID.xsrv.jp
  Hostname サーバーID.xsrv.jp
  User git 
  IdentityFile /Users/ユーザー名/.ssh/秘密鍵.key

編集してPush

試しに何か編集してPushしてみます。

$ cd app
$ vim index.html
#何か適当に入力
Hello!

Pushします。

$ git push origin master

Enter passphrase for key '/Users/ユーザー名/.ssh/秘密鍵.key':
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 211 bytes | 211.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To ssh://サーバーID.xsrv.jp:10022/home/ユーザー名/git/app.git
 * [new branch]      master -> master

サーバーを確認する

PushしたらサーバーにSSH接続して、git logを見てみます。ここでみるのはベアリポジトリの方です。

[〇〇@〇〇 app.git]$ git log

commit ba9dabe1c321322a12cffjds323
Author: Me <〇〇@gmail.com>
Date:   Wed Sep 14 16:08:17 2022 +0900

    first commit

Pushしたのでログが残っていますね。実際の作業用のディレクトリの方は中身は空のはずです。

まとめ

エックスサーバーでGitを使ってみたけど、普通に使えそうですね。エックスサーバーでgitを使って作業したい場合は使ってみるといいです。

今回試してみたものは以下。

  • エックスサーバー内でgit clone
  • ノンベアリポジトリの作成
  • ベアリポジトリの作成
  • ローカルからエックスサーバーのリポジトリにGit Push

エックスサーバーを使っている人は色々試してみるといいでしょう。

-XSERVER