たかおLab

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

PHP プログラミング
CodeCommitのロゴ画像

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

 

 

 

前提

 

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

 

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

 

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

 

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

 

 

 

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

 

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

 

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

 

 

Gitの初期設定

 

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

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

 

 

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

 

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

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

 

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

 

 

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

 

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

 

 

上記のコマンドで、

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

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

 

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

 

 

 

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

 

 

というエラーが出ます。

 

 

 

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

 

 

 

余談

 

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

 

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

 

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

 

 

 

参考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を利用