macのsourcetreeを使ってプロジェクトフォルダ内のLaravelをgitでエックスサーバーにアップする方法

エックスサーバーに共有リポジトリ(ベアリポジトリ)を作ってから、soucetree経由で自分のPCのプロジェクトフォルダにクローンするのはできたが、
そのプロジェクトフォルダにcomposerでLaravelをインストールしようとすると、「空のフォルダじゃないとダメです」と怒られる。

一方で、先にLaravelをインストールしたフォルダと、エックスサーバーに作成した共有リポジトリをsourcetreeの「新規 > URLからクローン」からリポジトリをクローンしようとすると、soucetree から「空のフォルダじゃないからダメです」と怒られる。

はて。。
じゃあどうしたら自分の作ったLaravelプロジェクトを、エックスサーバーと連携できるんだろう。

と思って色々やってたら、以下の手順でできました。

自分のPCのプロジェクトフォルダにLaravelをインストール

自分のPCの任意の場所にLaravelをインストールします。
$ composer create-project laravel/laravel test-app

上記のコマンドでは「test-app」というフォルダを作って、そこにLaravelをインストールしてねという意味なので、もともと自分が作成したフォルダにインストールさせるには
$ composer create-project laravel/laravel .
とする。

sourcetreeでローカルリポジトリを作成

sourcetree  を立ち上げ

以下のようにローカルリポジトリを作成

自分のPCのプロジェクト(上記でLaravelがインストールされているフォルダ)を選択

すると下記のようになります。

※実際にはlaravelのプロジェクトフォルダ内のファイルやフォルダがインデックス前の状態になっています。

試しに、プロジェクトフォルダに移動して
ls -a
とうつと、.git フォルダが作成されていることがわかります。

エックスサーバーにログインしてベアリポジトリ(リモートリポジトリ)の設置&本番環境とクローン

設置方法は以下参照
https://haleid.jp/archives/192

sourcetreeでリモートリポジトリとPCのプロジェクトフォルダを連携

sourcetreeの下記の画面を開き

右上の歯車マーク(設定)をクリックすると以下が開く

リモートをクリックし追加をクリック

URL / パス の部分に、エックスサーバーのリモートリポジトリを設置した場所を入力しOKを押す

URL / パスにはエックスサーバーでsshログインする時のパスと、先ほど設置したベアリポジトリまでのパスを書く


ssh://yourname-xserver/home/yourname/git/projectname.git/

すると以下の画面に戻ります。

これで無事リモートリポジトリとローカルリポジトリが連携しました。

sourcetreeでLaravelプロジェクトをエックスサーバーのローカルリポジトリにプッシュ

sourcetreeでLaravelのフォルダ&ファイルを全て選択してインデックス→コミット→プッシュします。

その後、エックスサーバーの本番ドメインのプロジェクトフォルダに行き
git pull
を行います。

すると、コミットされたLaravelのフォルダやファイルが全て一瞬で反映されています。

コメント

タイトルとURLをコピーしました