カテゴリー: コラム

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

    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を超えるファイルは履歴から抹消されます。

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

  • ストア公開 D-U-N-S ナンバーを取得しよう

    ストア公開 D-U-N-S ナンバーを取得しよう

    🐏 コラムです。

    法人の場合、Google Play Store や Apple Store にアプリリリースするにあたり、DUNS No.が必要になる場合があります。

    この記事ではその手順について解説します。

    DUNSとは?

    DUNS番号(D-U-N-S Number)は、企業や団体の信用情報を管理するためにDun & Bradstreet(D&B)が発行する識別番号です。

    https://www.dnb.com/en-us/smb/duns/get-a-duns.html#gad

    手順

    Appleのデベロッパーの場合、以下のページから無料で検索、申請ができます。
    ぶっちゃけ一番UIが良くて使いやすいのでAppleから取得すると良いなと個人的に感じました。
    https://developer.apple.com/support/D-U-N-S

    手順に従って住所や電話番号を入力するだけです!

    できた!

  • コラム 文字の無いボタンには aria-label をつけよう

    コラム 文字の無いボタンには aria-label をつけよう

    🐏 この記事はコラムです

    ユーザー補助の観点から、文字の無いボタンは、スクリーンリーダーを使用しているユーザーにとっては「ボタン」として読み上げられてしまい、どのような意味なのかわかりません。

    Google PageSpeed Insights では上記画像のような警告が出てしまいます。

    改善方法として button タグに以下のように aria-label を仕込みましょう。

    <button aria-label="ホームーページへ移動">
      <Button
        variant="plain"
        onClick={() => handleNavigate('/')}
        aria-label="ホームページに移動"
      >

  • 早朝や深夜の京都に放り出されたら何処に行くべきか【深夜バス・夜行バス】

    早朝や深夜の京都に放り出されたら何処に行くべきか【深夜バス・夜行バス】

    この記事は何?

    深夜バス・夜行バスで京都にいった際に早朝すぎる、もしくは深夜すぎて何処に行けばいいかわからない方(私自身……。)に向けた備忘録です。

    早朝編 5時代(男性限定)

    まず京都駅周辺のカフェで5時から空いている場所は、無い!と言っても過言では無いでしょう。

    同時に深夜バスですので、前日に風呂に入れていない可能性が高いでしょう!

    ということでサウナへ向かってください!

    おすすめはルーマープラザ

    ここに行くには早朝なのでバスで向かいます。(JRバスが5時代でも出ているはずです)

    6:00–10:00 まで空いていて、朝食も課金すれば食べられます。
    さらにタオル貸し出しなので余計な荷物を持って行かなくても大丈夫です。

    深夜バスは基本寝れていないと思うので、ここで仮眠するのもいいでしょう。

    深夜編 23時以降

    深夜は銭湯に行くのもいいでしょう!京都には銭湯がいっぱいあります。

    しかし、23時はおそらく気分が乗っていて仕事をしたくなっているはずです!

    ということでカフェに入りましょう!

    スターバックスはお勧めしません!なぜならみんな考えていることは同じだからです!

    おとなしくベローチェへ行きましょう。ここは電源の数が非常に多いです。

    中央口のマクドナルドもいい選択肢ですが、人が多くて落ち着かないのと、電源の位置が少ないこと。また、楽天回線の問題なのか電波にやや不安があるので中央口にあるベローチェが安牌です。

    しかし 22:45 分までしか空いていないのが問題ですね……。あとは諦めて外で待ちましょう()

    深夜バス必須アイテム

    夏のバスはかなり寒いです。おじさん向けの冷房設定になっています!

    必ずブランケット厚手の靴下を持っていきましょう。

    耳栓やアイマスクも必須です。寝ないつもりでも快適度がかなり変わります!

    良いたびを〜〜

Home
About
Blog
Works
Contact