自ら投稿していたGitHubとVSCodeの連携ではLaravelのプロジェクトはうまく連携できなかったのでやりかたをメモ。
環境は
macOS 14.0
Laravel v10.2.6
git 2.39.3 (Apple Git-145)
です。
1. GitHubで新たしいリポジトリを作成
新規リポジトリを作成します。
後ほどすべてpushした際に、データベースのパスワードが書かれたファイルまで上がってしまうので、気になる場合はPrivateに。
※リポジトリ作成の際に、「Initialize this repository with:」の各項目を追加してしまうと、このあとの初めのpushの際にリジェクトされてしまいます。
なので、
・Add a README file → チェックしない
・Add .gitinore → デフォルトのまま(None)
・Choose a license → デフォルトのまま (None)
でリポジトリを作成するようにしてください。
新しいリポジトリを作成したら、[<>Code]ボタンからHTTPSのURLをコピーしておきます。
2.Laravelのプロジェクトを作成
ターミナルを起動して、Laravelのプロジェクトを作成します。
% composer create-project --prefer-dist laravel/laravel new_repository "10.*"
各ファイル・フォルダが作成されました。
drwxr-xr-x 24 xxx wheel 768 10 26 21:53 .
drwxr-xr-x 6 xxx wheel 192 10 26 21:52 ..
-rw-r--r-- 1 xxx wheel 258 8 10 16:19 .editorconfig
-rw-r--r-- 1 xxx wheel 1148 10 26 21:53 .env
-rw-r--r-- 1 xxx wheel 1097 8 10 16:19 .env.example
-rw-r--r-- 1 xxx wheel 186 8 10 16:19 .gitattributes
-rw-r--r-- 1 xxx wheel 243 8 10 16:19 .gitignore
-rw-r--r-- 1 xxx wheel 4158 8 10 16:19 README.md
drwxr-xr-x 7 xxx wheel 224 8 10 16:19 app
-rwxr-xr-x 1 xxx wheel 1686 8 10 16:19 artisan
drwxr-xr-x 4 xxx wheel 128 8 10 16:19 bootstrap
-rw-r--r-- 1 xxx wheel 1882 8 10 16:19 composer.json
-rw-r--r-- 1 xxx wheel 296306 10 26 21:53 composer.lock
drwxr-xr-x 17 xxx wheel 544 8 10 16:19 config
drwxr-xr-x 6 xxx wheel 192 8 10 16:19 database
-rw-r--r-- 1 xxx wheel 248 8 10 16:19 package.json
-rw-r--r-- 1 xxx wheel 1084 8 10 16:19 phpunit.xml
drwxr-xr-x 6 xxx wheel 192 8 10 16:19 public
drwxr-xr-x 5 xxx wheel 160 8 10 16:19 resources
drwxr-xr-x 6 xxx wheel 192 8 10 16:19 routes
drwxr-xr-x 5 xxx wheel 160 8 10 16:19 storage
drwxr-xr-x 6 xxx wheel 192 8 10 16:19 tests
drwxr-xr-x 40 xxx wheel 1280 10 26 21:53 vendor
-rw-r--r-- 1 xxx wheel 263 8 10 16:19 vite.config.js
プロジェクトフォルダができたらそのフォルダまで移動しておきましょう。
3. Gitの設定とローカルリポジトリ初期化
作成したプロジェクトフォルダをローカルリポジトリを構築して初期化します。
% git config --global user.name "ユーザー名"
% git config --global user.email "メールアドレス"
% git init
ユーザ名には一応GitHubのユーザ名、メールアドレスにはGitHubに登録しているアドレスを登録しました。
ユーザ登録した初期化します。
これでローカルリポジトリが構築できました。
4.リモートリポジトリとローカルリポジトリの紐付け
3.で作成したローカルリポジトリをリモートリポジトリと紐付けます。
% git remote add origin リモートリポジトリURL
リモートリポジトリURLには1.でコピーしたHTTPSのURLをペーストします。
5. ローカルからリモートへのプッシュ
紐付けたらデータをプッシュします。
順番としては「プッシュしたいファイルを指定(ステージング)」→「コミット」→「プッシュ」です。
% git add .
% git commit -m 'First commit'
% git push origin main
1行めでカレントフォルダ内すべてをステージング
2行めでコミット
3行めでリモートリポジトリにプッシュ
です。
プッシュする際の「main」の記述ですが、かつては「master」だったとのことで、参考にするWebサイトによってはmasterで記載されている場合もあります。
その通りに実行すると下記エラーが出力されます
error: src refspec master does not match any
error: failed to push some refs to 'git@github.com:user-name/repository-name.git'
このエラーが出た場合は「main」の箇所が「master」になっていないか確認してみましょう。
エラーなく完了した場合は以下のように出力されるはずです。
Enumerating objects: 102, done.
Counting objects: 100% (102/102), done.
Delta compression using up to 8 threads
Compressing objects: 100% (84/84), done.
Writing objects: 100% (102/102), 72.25 KiB | 4.52 MiB/s, done.
Total 102 (delta 6), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/xxx/Laravel_Test.git
* [new branch] main -> main
完了したらGitHubに接続してプッシュされていることを確認しましょう。
これでLaravelのプロジェクトをGitHubで管理できるようになりました。
こんな面倒な手順を踏まないといけないのも、LaravelおよびGitHubが既存の空じゃないフォルダを使おうとするとエラー出すからです。
仕様だからしかたない...
参考
参考にしたサイトはこちら
・LaravelプロジェクトをGitHubにpushする方法と注意点
・git push時のerror: src refspec master does not match anyについて