今回はレンタルサーバーにgit環境を構築し、gitのリモートリポジトリにする方法を記事にしておきます。
僕の普段使っているレンタルサーバーはロリポップサーバーなので、ロリポップでの環境構築を例に行っていきます。
(さくらのレンタルサーバー、エックスサーバーでも同様のことは出来るはずです。...プランにも寄りますが..)
git環境の構築は以下の設定であることが前提となります。
- スタンダードプラン以上であること
- ロリポップでSSH接続を設定していること
SSHの設定はロリポップ管理画面から「サーバーの管理・設定」>「SSH」>「SSHを有効にする」を選択
サーバー側の設定
まず、サーバーへSSH接続を行い、SSHログインします。
mkdir gitdir.git -①
cd gitdir.git -②
git init --bare --shared -③
- gitのリモートリポジトリ情報を置くためのディレクトリを作成します。
xxx.git
という名前で作成するのが通例らしい。実際ディレクトリ名はなんでも構いません - 作成したディレクトリに移動します。
- git環境構築するためのコマンドを打ちます。
このときに出力されたInitialized empty shared Git repository in /home/users/<id>/<アカウント名>/web/gitdir.git
の/home/users/<id>/<アカウント名>/web/gitdir.git
のパスがは後ほどgitへpushするときに必要になります。
クライアント側の設定
今回はクライアント側にgitの環境がある前提でお話しします。
git環境をclone等で構築した際には.git
ディレクトリがあるはずなので移動します。
cd .git
これからが本題です。
.gitにあるgit情報を先程サーバー側へ作成したgitリモートリポジトリ環境へ反映させます。
まず、ロリポップ管理画面から「サーバーの管理・設定」>「SSH」へ遷移して以下の画面を表示します。

以下のコマンドでローカルのgit環境をサーバーへ反映させます。
上記サーバー側で設定した際の、/home/users/<id>/<アカウント名>/web/gitdir.git
をpush先のパスとします。
git push --mirror ssh://<②アカウント>@<①サーバー>:<③接続ポート>/home/users/<id>/<アカウント名>/web/gitdir.git
コマンド打ったあとに鍵認証設定をしていない場合はSSHパスワードを求められますので、入力を行います。
これで、ローカルのgit環境をリモートリポジトリへ反映完了です。
gitリモートリポジトリ移行後の確認
さて、実際にリモートリポジトリに反映されているのかcloneをしてきて確認してみます。
git clone ssh://<②アカウント>@<①サーバー>:<③接続ポート>/home/users/<id>/<アカウント名>/web/gitdir.git
無事にcloneできれば問題ないです。
Sourcetreeと連携
レンタルサーバーに構築したgitのリモートリポジトリをSourcetreeと連携させます。
SourcetreeはgitをGUIで扱えるので非常におすすめです。まだ導入されていない方は導入してみてください。
Sourcetreeを使ってみたい方は以下の記事より

Sourcetreeを開いたら上部の、新規 > URLからクローンを選択します。

ソースURLにssh://<②アカウント>@<①サーバー>:<③接続ポート>/home/users//<アカウント名>/web/gitdir.git
保存先のパスは任意の作業ディレクトリを選択します。
名前も任意でOK
これで、クローンを行えば、レンタルサーバー上のgitリモートリポジトリからSourcetreeからクローンし、連携することができました。
その後コミット、プッシュを行えばリモートリポジトリへ反映されていきます。
gitの関連記事



コメント