エックスサーバーでgit使いたいんだけど使えるのかな?
使えますよ!
この記事ではエックスサーバーでGitを使う方法を書いていきたいと思います。
この記事で分かること
- エックスサーバーでGitを使う方法
- エックスサーバーでgit cloneする
- ノンベアリポジトリの作成
- ベアリポジトリの作成
- ローカルからエックスサーバーのリポジトリにPush
エックスサーバーでGitを使いたかったら参考にしてみてください。
エックスサーバーでGit使っていきましょう。
エックスサーバーでGitを使う方法
エックスサーバーには最初からGitが入っています。SSH接続をして確かめてみるとちゃんと表示されますね。
[サーバーID@sv1111 ~]$ git --version
git version 1.8.3.1
SSH接続の方法
エックスサーバーにSSH接続するための方法は以下の記事で書いているので、参考にしてみてください。
-
エックスサーバーで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
エックスサーバーを使っている人は色々試してみるといいでしょう。