══════════ No valid code signing certificates were found You can connect to your Apple Developer account by signing in with your Apple ID in Xcode and create an iOS Development Certificate as well as a Provisioning Profile for your project by: 1- Open the Flutter project's Xcode target with open ios/Runner.xcworkspace 2- Select the 'Runner' project in the navigator then the 'Runner' target in the project settings 3- Make sure a 'Development Team' is selected under Signing & Capabilities > Team. You may need to: - Log in with your Apple ID in Xcode first - Ensure you have a valid unique Bundle ID - Register your device with your Apple Developer Account - Let Xcode automatically provision a profile for your app 4- Build or run your project again 5- Trust your newly created Development Certificate on your iOS device via Settings > General > Device Management > [your new certificate] > Trust For more information, please visit: https://developer.apple.com/library/content/documentation/IDEs/Conce ptual/ AppDistributionGuide/MaintainingCertificates/MaintainingCertificates .html Or run on an iOS simulator without code signing ══════════════════════════════════════════════════════════════════════ ══════════ No development certificates available to code sign app for device deployment

Git filter-repo 既にコミットしてしまった不要ファイルを履歴から消す方法

Gitでうっかり大容量のファイルや本来コミットしたくなかったファイルを登録してしまった…。

  • ビルド結果やキャッシュが混ざっていた
  • 100MBを超えるファイルをPushしようとしてGitHubに拒否された(今回の私)
  • セキュリティ上問題のあるファイル(APIキーや秘密情報)を誤ってコミット

こうしたファイルは、単に .gitignore を修正して git rm –cached しても、過去のコミット履歴に残り続けます。

今回は git filter-repo(旧 git filter-branch の後継ツール)の紹介です。過去コミットも含めて不要ファイルを完全削除し、リポジトリを“きれい”に書き換えてしまうことができます。

注意点

履歴を改変すると、既存のブランチと互換性がなくなるため、他の開発者と共有している場合は要注意。

• もし既にGitHub等にPushしていたら、force push(–force)でリポジトリを上書きしなければなりません。

• 作業前にバックアップを取っておくことを強く推奨します。

やり方

手順1: git filter-repo をインストール

macOS

brew install git-filter-repo

Windows / Linux

git-filter-repo公式GitHubページ からスクリプトをダウンロードしてパスに配置、あるいはパッケージマネージャ等でインストール。

インストールできたら git filter-repo –help が実行できるか確認してみましょう。

手順2: 不要ファイルを削除する

2-1. 例: 特定のファイルを削除

git filter-repo --path path/to/your_file.ext --invert-paths

• –path: 削除(除外)したいファイルパス

• –invert-paths: 指定したパスを履歴ごと消すオプション

これで過去のコミットからも your_file.ext が完全に消え、存在しなかったことになります。

2-2. ディレクトリごと削除

git filter-repo --path path/to/unwanted_folder --invert-paths

• unwanted_folder 以下のファイルすべてが対象。

2-3. 複数のパスを一度に削除

git filter-repo \
 --path path/to/big_file_1 \
 --path path/to/big_file_2 \
 --invert-paths

改行やバックスラッシュで続けて書けば、複数ファイル・フォルダをまとめて消せます。

手順3: ローカル確認 & force push

filter-repo の実行が終わると、履歴を書き換えた状態がローカルに反映されます。

変更をリモートに反映するには、通常は強制プッシュが必要です。

git push origin main --force

• これでリモート側も「不要ファイルが含まれていない」新しい履歴に上書きされます。

• コラボレーターがいる場合は衝突や再クローンなどが必要になってくるので、事前に相談してください。

サイズで一括削除する

「50MBを超えるファイルをすべて消す」といった雑なやり方をしたい場合は、以下のようなコマンドも便利です。

git filter-repo --strip-blobs-bigger-than 50M

これで50MBを超えるファイルは履歴から抹消されます。

ただし、どのファイルが削除対象になったかを確認してからにするのがおすすめです。

coiai.netでは案件受付中です。
Vtuber、建築モデリング、EC構築、ネイティブアプリ制作、制服の制作(実は縫製業もメイン)、Vision Pro向けアプリ etc…
様々な制作開発を行っています。

ご気軽にご相談ください!

コイアイちゃんのアバター

この記事を書いたのは


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Home
About
Blog
Works
Contact