gitignore / glob / tracked review

gitignoreの除外・例外・tracked状態を分ける

globの意味、否定パターン、すでにtrackedなファイル、ディレクトリ範囲を分けて確認します。修正案は作りますが、リポジトリへは書き込みません。

ignoreの4つの境界

パターンの評価とtracked状態は別です。除外ルールを追加しても、既にtrackedなファイルは自動でuntrackされません。

*.log = glob exclusion; negation = include exception; tracked.txt = tracked remains; tmp/ = directory scope
分類確認すること
glob-exclusion*.logなどのglobが意図した場所だけを除外するか確認する。
negation-exception否定パターンの例外が親ディレクトリの除外順序と合っているか確認する。
tracked-file既にtrackedならignore追加だけでは追跡は外れない。別の承認済み操作が必要。
directory-onlytmp/のような末尾スラッシュはディレクトリ範囲としてレビューする。

安全な修正依頼

  1. patternと対象pathを記載する。
  2. glob、negation、tracked、directoryのどれかを選ぶ。
  3. 期待結果と既存tracked差を分ける。
  4. 修正案はレビュー後に人が適用する。

このガイドは.gitignoreを書き換えず、git commandも実行しません。repositoryをuploadせず、合成caseだけで確認します。

レビューケース

case判定依頼例
glob-exclusionexclude対象範囲を確認してglobを修正する。
negation-exceptioninclude-exception例外の順序と親pathを確認する。
tracked-filetracked-remainsignore追加とuntrack操作を混同しない。
directory-onlydirectory-scopeファイルまで除外しないか確認する。
unsupported-repository-writerejectrepository writeを伴う依頼は差し戻す。

repositoryを送信しない

実repository、秘密、tokenを貼り付けないでください。synthetic caseで確認し、実変更は既存の承認手順で行います。