CodeCommitのリモートにあるLaravelプロジェクトを、Macのローカルにクローンする

  • URLをコピーしました!

WindowsでLaravel開発をしていましたが、Macに乗り換えたので、このプロジェクトフォルダをMacのローカル環境でも開発できるようにした時のメモです。

 

 

 

目次

前提

 

Windowsの開発環境で、Laradock を使ってプロジェクトを作成して、書いたソースコードはCodeCommitのリモートリポジトリにプッシュしていました。

 

しかし、.gitignoreでnode_modules/ などは見ないようにしているので、ただクローンするだけでは動きません。

 

そのため、一度ローカルでLaravelプロジェクトを作成し、そのフォルダに、リモートにあるコードを差分だけ取り込むようにします。

 

最終的には以下のような構成にします。

 

laravel_projects/
├── laradock/
└── my-portfolio/   /* 今回はこれを作る */

 

 

ローカルにLaravelプロジェクトを新規作成する

 

まずはローカルにLaravelのプロジェクトフォルダを作成しましょう。

 

作成した時のメモはこちらの記事にまとめてあります。

 

 

Gitの初期設定

 

ユーザー登録をして、git init でローカルリポジトリを新しく作ります。

(これをしないと、fatal: not a git repository というエラーが出ます)

 

$ git config --global user.name "xxx"
$ git config --global user.email "xxx@gmail.com"
$ git init
initialized empty Git repository in /Users/takao/laravel_projects/my-portfolio/.git

 

※この時、「”git”コマンドを実行するには、コマンドライン・デベロッパ・ツールが必要です。ツールを今すぐインストールしますか?」というポップアップが表示された場合は、インストールをクリックしてから上記作業を行ってください。

 

次に、リモートリポジトリのアドレスを origin として登録 & ユーザ名とパスワードを保存します。

別記事に書いたので、こちらを参照してください。

 

※リモートリポジトリがCodeCommitでなくGithubにある場合は、ただgit initするだけで大丈夫だと思います。

 

 

リモートリポジトリを差分だけ持ってくる

 

最後に、リモートリポジトリの内容をローカルリポジトリに差分だけ持ってきます。

 

$ git fetch --all
Fetching origin
$ git reset --hard origin/master
HEAD is now at xxx

 

上記のコマンドで、

fetch でリモートのブランチとコミット履歴をリモート追跡ブランチ(origin/master)に反映し、

reset –hard でHEADをorigin/masterに合わせてあげています。

 

試しにorigin masterをプルしてみると、リモートリポジトリと同じ状態になっているのが確認できると思います。

 

$ git pull origin master
From https://hogehoge
* branch           master     -> FETCH_HEAD
Already up to date.

 

 

ちなみに、fetchとresetをせずに、いきなりpull origin masterすると、

 

error: The following untracked working tree files would be overwritten by merge:

 

というエラーが出ます。

 

 

 

以上で無事にローカルにもプロジェクトフォルダを共有できました。

 

 

 

余談

 

無事に今回の作業を終了した後、php artisan migrate –seed を実行したら、以下のようなエラーが出るようになりました。

Illuminate\Contracts\Container\BindingResolutionException  : Target class [UsersTableSeeder] does not exist.

 

今回行った作業が原因なのか?

 

対処として、migrateの前に以下のコマンドを実行したら直りました。

# composer dump-autoload

 

 

 

参考URL

 

エラー:fatal: Not a git repository (or any of the parent directories): .git 対処方法

git pull時のmergeでエラー

git fetch コマンドの使い方と、主要オプションまとめ

[git reset (–hard/–soft)]ワーキングツリー、インデックス、HEADを使いこなす方法

[PHP] laravelでseederを利用

この記事を書いた人

コメント

コメントする

目次