0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravel 10 + Laravel Sail 初期環境をGitHub privateリポジトリに初回pushする手順

0
Last updated at Posted at 2026-05-04

はじめに

Laravel 10をLaravel Sailでインストールした直後、phpMyAdminを追加する前の初期状態をGitHubのprivateリポジトリに保存しました。

本記事では、Laravel 10 + Laravel Sailの学習環境を例に、ローカルに存在するプロジェクトをGitHubのprivateリポジトリへ初回pushする手順をコマンドごとに整理します。

学習環境を安全に再現できる状態で保存することを意識した内容です。

前提

  • Laravel 10をLaravel Sailでインストール済み
  • PHP 8.2.30 / MySQL 8.4
  • phpMyAdminはまだ追加していない
  • .env のポート番号など最低限の設定は完了済み
  • 作業環境はWSL上のUbuntu
  • ローカルプロジェクトのパスは ~/projects/リポジトリ名

今回のゴール

Laravel Sailで作成したLaravel 10の初期環境を、phpMyAdmin追加前の状態でGitHubのprivateリポジトリに保存します。


手順

1. Laravelプロジェクト直下へ移動

cd ~/projects/リポジトリ名

2. .gitignore を確認

Laravelには最初から .gitignore が用意されています。
特に重要な記載は以下のとおりです。

.env
/vendor
/node_modules
/public/build
/public/hot
/public/storage
/storage/*.key

.env にはAPP_KEYやDB接続情報が含まれるため、GitHubには上げません。
一方、.env.example は環境再現用のテンプレートなので、GitHubに上げて問題ありません。

3. Git管理を開始

まず状態確認のコマンドを実行したところ、まだGit管理されていなかったためエラーになりました。

git status --short | grep .env
fatal: not a git repository (or any of the parent directories): .git

git init がまだだったため、以下でGit管理を開始します。

git init -b main
Initialized empty Git repository in /home/ユーザー名/projects/laravel10/.git/

-b main はデフォルトブランチ名を main に指定するオプションです。

4. .env がGit管理対象に入らないか確認

まず、.env を含むファイルがGit管理対象に入っていないか確認します。

git status --short | grep .env
?? .env.example

表示されたのは .env.example であり、.env ではないため問題ありません。
ただし、このコマンドは .env という文字列を含む .env.example も表示します。
そのため、実際の .env だけを確認したい場合は、次の正規表現を使います。

git status --short | grep -E '(^|\s)\.env$'

何も表示されなかったため、.env はGit管理対象に入っていません。

5. 全ファイルをステージング

git add .

ステージング後、再度 .env が含まれていないか確認します。

git status --short | grep -E '(^|\s)\.env$'

何も表示されなければ問題ありません。

6. 初回コミット

git commit -m "init: Laravel10 + Sail 環境構築完了"
[main (root-commit) 1b69fec] init: Laravel10 + Sail 環境構築完了
 80 files changed, 11339 insertions(+)

コミット後、状態を確認します。

git status
On branch main
nothing to commit, working tree clean

7. GitHubでprivateリポジトリを作成

GitHubで新規リポジトリを以下の設定で作成します。

項目 設定値
Repository name laravel10
Description Laravel 10 + Laravel Sail の学習環境
Visibility Private
Add a README file チェックしない
Add .gitignore No .gitignore
Choose a license No license

README・.gitignore・licenseをGitHub側で生成しない理由は、ローカル側にすでにLaravelのファイル一式(READMEや.gitignoreを含む)が存在しているためです。GitHub側でこれらを生成すると、ローカルとの競合が発生します。

8. リモートリポジトリを登録

今回は最初にSSH形式で登録しました。

git remote add origin git@github.com:GitHubユーザー名/リポジトリ名.git

登録を確認します。

git remote -v
origin  git@github.com:GitHubユーザー名/リポジトリ名.git (fetch)
origin  git@github.com:GitHubユーザー名/リポジトリ名.git (push)

9. SSH接続時の確認

初回接続時に以下のメッセージが表示されます。

Are you sure you want to continue connecting (yes/no/[fingerprint])?

GitHubへのSSH初回接続確認なので yes と入力します。

Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.

これはGitHubの接続先情報がWSLの ~/.ssh/known_hosts に保存されたという意味です。

10. SSH認証エラーとHTTPSへの切り替え

続けて以下のエラーが発生しました。

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

原因は、GitHubにSSH公開鍵が登録されていない、または現在のWSL環境から利用できるSSH鍵が設定されていないためです。
今回はSSH設定を行わず、GitHubのHTTPS URLに切り替えて進めました。

11. リモートURLをHTTPSに変更

git remote set-url origin https://github.com/GitHubユーザー名/リポジトリ名.git

変更を確認します。

git remote -v
origin  https://github.com/GitHubユーザー名/リポジトリ名.git (fetch)
origin  https://github.com/GitHubユーザー名/リポジトリ名.git (push)

12. GitHubへpush

HTTPSでpushする場合、環境によってはGitHubの認証が求められます。
その場合は、GitHubの認証画面、またはPersonal Access Tokenを使用します。

git push -u origin main
Enumerating objects: 103, done.
Counting objects: 100% (103/103), done.
Delta compression using up to 12 threads
Compressing objects: 100% (85/85), done.
Writing objects: 100% (103/103), 74.04 KiB | 3.53 MiB/s, done.
Total 103 (delta 6), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/GitHubユーザー名/リポジトリ名.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

これでGitHubのprivateリポジトリへの初回pushが完了です。

-u origin main を指定することで、ローカルの main ブランチとリモートの origin/main が紐づきます。次回以降は git push のみで同じリモートへ送れます。


成功の確認

以下の出力が表示されていればpushは成功です。

To https://github.com/GitHubユーザー名/リポジトリ名.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

GitHub上で確認する際、以下のファイル・ディレクトリが存在していれば正常です。

上がっていてよいもの

app/
bootstrap/
config/
database/
public/
resources/
routes/
.env.example
compose.yaml
composer.json
README.md

上がっていたら問題があるもの

.env
vendor/
node_modules/

次回以降の基本操作

変更後は基本的に以下の3コマンドで管理できます。

git add .
git commit -m "コミットメッセージ"
git push

今回のポイント

  • phpMyAdminを追加する前のLaravel Sailの初期状態をコミットした
  • .env がGit管理対象に入っていないことを確認してからコミットした
  • .env.example は環境再現用テンプレートなのでGitHubに上げてよい
  • GitHub側ではREADMEや.gitignoreを追加しない(ローカルと競合するため)
  • SSH公開鍵未登録でpushできなかった場合、HTTPS URLに切り替える方法がある
  • git remote set-url origin URL でリモートURLをあとから変更できる
  • git push -u origin main でローカルとリモートのブランチを紐づけた

まとめ

Laravel 10 + Laravel Sailの初期環境を、GitHubのprivateリポジトリに保存しました。
phpMyAdmin追加前の状態を残せたため、今後の学習環境を再現しやすくなりました。

今後はphpMyAdminの追加、Breezeの導入、学習用の各種変更などを、作業単位ごとにコミットして管理していく予定です。

関連記事

今回の初回push後、WSLからSSH接続できるようにするため、別記事でSSH鍵の作成とGitHubへの登録手順をまとめました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?