なぜか毎回忘れてちょっとだけつまる
※試したコマンドを一旦ここに時系列でまとめておいて、次すんなりすすんだらその分を編集で入れる
環境
% sw_vers
ProductName: macOS
ProductVersion: 14.5
BuildVersion: 23F79
初期手順実施
% git init
% git add.
% git commit -m "initial"
GitHubで新しいリポジトリを作成し、リポジトリのURLをコピー
% git remote add origin https://github.com/XXXXX
% git push -u origin main
→
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/XXXXX'
…GitHubで作成したリポジトリを最初にpullする必要があった?(Read.me作ったせい?)
pullしてからpushしてみる
% git pull origin main --rebase
% git push -u origin main
→
remote: error: File .terraform/providers/registry.terraform.io/hashicorp/aws/3.76.1/darwin_arm64/terraform-provider-aws_v3.76.1_x5 is 284.09 MB; this exceeds GitHub's file size limit of 100.00 MB
…ignoreファイル作り忘れて、大きいファイル取り込めないエラーになる。
以下のサイトからterraform用のをコピーしてくる。
https://qiita.com/tomoyoyo/items/5ac7b76e38ef8b86936b
大きいファイルを対象外にして、キャッシュをクリアののち再実行
% git rm -r --cached .
% git add .
% git commit -m "Remove large files from repository and update .gitignore"
% git push -u origin main
…うまくいかない。相変わらず同じ.tfstateファイルが邪魔してくる。
消えてくれなかったのでignoreファイルに個別でエラーになるファイルを入れて再実行
gitignoreに下記を記載する
**/.terraform/providers/registry.terraform.io/hashicorp/aws/3.76.1/darwin_arm64/terraform-provider-aws_v3.76.1_x5
% git rm -r --cached .
% git add .
% git commit -m "Remove large files from repository and update .gitignore"
% git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch .terraform/providers/registry.terraform.io/hashicorp/aws/3.76.1/darwin_arm64/terraform-provider-aws_v3.76.1_x5' \
--prune-empty --tag-name-filter cat -- --all
% git push -u origin --force --all
うまくいったけど、かなりごちゃごちゃした。
最初にgitignore作るの忘れないようにしたい