エックスサーバーに共有リポジトリ(ベアリポジトリ)を作ってから、soucetree経由で自分のPCのプロジェクトフォルダにクローンするのはできたが、
そのプロジェクトフォルダにcomposerでLaravelをインストールしようとすると、「空のフォルダじゃないとダメです」と怒られる。
一方で、先にLaravelをインストールしたフォルダと、エックスサーバーに作成した共有リポジトリをsourcetreeの「新規 > URLからクローン」からリポジトリをクローンしようとすると、soucetree から「空のフォルダじゃないからダメです」と怒られる。
はて。。
じゃあどうしたら自分の作ったLaravelプロジェクトを、エックスサーバーと連携できるんだろう。
と思って色々やってたら、以下の手順でできました。
自分のPCの任意の場所にLaravelをインストールします。
$ composer create-project laravel/laravel test-app
上記のコマンドでは「test-app」というフォルダを作って、そこにLaravelをインストールしてねという意味なので、もともと自分が作成したフォルダにインストールさせるには
$ composer create-project laravel/laravel .
とする。
sourcetree を立ち上げ
以下のようにローカルリポジトリを作成
自分のPCのプロジェクト(上記でLaravelがインストールされているフォルダ)を選択
すると下記のようになります。
※実際にはlaravelのプロジェクトフォルダ内のファイルやフォルダがインデックス前の状態になっています。
試しに、プロジェクトフォルダに移動して
ls -a
とうつと、.git フォルダが作成されていることがわかります。
設置方法は以下参照
https://haleid.jp/archives/192
sourcetreeの下記の画面を開き
右上の歯車マーク(設定)をクリックすると以下が開く
リモートをクリックし追加をクリック
URL / パス の部分に、エックスサーバーのリモートリポジトリを設置した場所を入力しOKを押す
URL / パスにはエックスサーバーでsshログインする時のパスと、先ほど設置したベアリポジトリまでのパスを書く
例
ssh://yourname-xserver/home/yourname/git/projectname.git/
すると以下の画面に戻ります。
これで無事リモートリポジトリとローカルリポジトリが連携しました。
sourcetreeでLaravelのフォルダ&ファイルを全て選択してインデックス→コミット→プッシュします。
その後、エックスサーバーの本番ドメインのプロジェクトフォルダに行き
git pull
を行います。
すると、コミットされたLaravelのフォルダやファイルが全て一瞬で反映されています。
コメント