LaravelプロジェクトをGitHubへプッシュしてバージョン管理
LaravelでDockerを使ってローカル開発しているプロジェクトをGitHubのリポジトリへプッシュしてバージョン管理する方法を聞かれたので備忘メモです。
リポジトリを作成
GitHubでリポジトリを作成します。
パスワードなどのファイルが入るのでとりあえずprivateで作成します。
その他READMEは不要で、.gitignoreもプロジェクトに含まれているため不要、ライセンスも変更不要でそのままリポジトリを作成します。
作成したらリポジトリのURLを確認します。
右側にコピーボタンがあるので後で使用するときに押してコピーできます。
ローカル(Ubuntu)のプロジェクトをプッシュ
コンソールでプロジェクトのフォルダに移動してから、以下のようにコマンドを進めます。
# ローカルリポジトリ作成
$ git init
# インデックスに追加する
$ git add --all
# コミット(""内はコメントなので適宜)
$ git commit -m "first commit"
# リモートリポジトリに紐づける
$ git remote add origin https://github.com/XXX/XXXX.git
(ここはそれぞれのURLを貼る)
# リモートのリポジトリURL確認
$ git remote -v
# 上流ブランチに設定してプッシュする
$ git push --set-upstream origin master
失敗ポイント①
$ git commit -m "first commit"
Author identity unknown
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <XXX@XXX>) not allowed
Gitから「あなたは誰?」と聞かれている状態です。
Gitのユーザー設定がされていないとこうなります。
Runの下にgit config〜という行が2行ありますが、これを実行してメールアドレスと名前を登録してくれ、ということですね。
GitHubに使用しているメールアドレスとユーザーネームを登録しておくといいと思います。(コミットログなどに使用されるはず)
コマンドは上のRunの後にある2行の最後の部分を自身の情報に書き換えて実行すればOKです。
ちなみに以下コマンドでそれぞれ登録されているか確認できます。
$ git config --global user.email
$ git config --global user.name
これでgit commitは成功すると思います。
失敗ポイント②
$ git push --set-upstream origin master
Username for 'https://github.com': XXXX
Password for 'https://XXXX@github.com:
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/XXX/XXXX.git'
プッシュをしようとしたらGitHubアカウントのユーザ名とパスワードを聞かれて両方入力したら、
その方法サポート終わったからこのページ見て認証の設定してね、的なことを言われた状態です。
これはGitHubでPersonal Access Token(個人用アクセストークン)を作成し、パスワードの代わりにそれを入力する必要があります。
GitHubの右上の自分のアイコンをクリックし、Settingsを開きます。
Settingsの項目の一番したにDeveloper Settingsというメニューがあるので選択します。
するとPersonal access tokensという項目があるので選びます。
今回はとりあえずTokens (classic)を使用します。
右上にGenerate new tokenボタンがあるので(classic)の方を作成します。
項目は以下のように設定します。
Noteはトークンの識別名として設定してください。
Expirationは有効期限です。本来は期限付きで更新するのがセキュリティ上望ましいと思いますが、今回はとりあえず無期限にしています。
Select scopesではrepoにチェックを入れればOKです。
一番下にあるGenerate Tokenボタンを押せば完成です。
トークンが生成されるとページに表示されます。
このときにコピーしておかないとトークンの確認ができないので確実にコピーしておいてください。
(今回もコピーボタンがあるのでコピーしておくと良い、どこかにメモしておいても良い)
そして再びgit pushを行い、パスワードの入力を求められたときに先ほどのトークンを入力します。
(コピーしているなら右クリックで貼り付けができます。パスワードなので見えませんが…)
うまくいけばそれっぽい表示が進みます。
リポジトリのページをブラウザで確認して正常にPushされたか確認してみてください。
(画像は最初のプロジェクトと名前が違いますが同じ検証用に作成したLaravelプロジェクトのものです)
参考記事
ありがとうございました🙇
Discussion