– アルフレッド・チャオ
プロジェクトの中で scripts/ フォルダーは GitHub に送信されたくないが、送信の履歴はすでに作成されています .gitignore 里写 scripts/ これらのファイルは Git によって追跡されており、ルールが適用されないため、問題を解決できません。正しい方法は、ファイルをローカル ディスクに保持したまま、まず Git の追跡から削除することです。
01 | .gitignore が機能しない理由
.gitignore 「尚尜被被」「ファイルは有効です。」特定のファイルが送信されると、Git はそのファイルを追跡し続け、それを無視する後続のルールは無視されます。したがって、率先して追跡をキャンセルし、ルールを無視させる必要があります。
「無視ルール」と「追跡ステータス」の関係を理解するには、次のフローを使用できます。
TDAのフローチャート[文件存在于工作区] –> B{Git によって追跡されているかどうか?} B — 否 –> C[.gitignore 生效
Git 忽略该文件]
B — あり –> D[.gitignore 不生效
Git 持续追踪]
D –> E[执行 git rm -r –cached]
E –> F[文件变为未追踪状态]
F –> C
つまり、.gitignore 決定は「未电影文件要不要被设计電視」です。 git rm --cached 決定は「已电视实体要不要设计电视」です。両方を組み合わせると、完全に無視できます。
02 |具体的な操作手順
安全性に関しては、今後の決定に基づいて決定されます。
① ディレクトリを暫定地区から削除する
git rm -r --cached scripts/
--cached アニメーションは、実際のドキュメントではなく、Git のプロパティ ストレージ (単発) から生成できます。
②変更状況を確認する
git status
今会ったよ deleted: scripts/... 的電影,意思 Git はこれらのファイルの追跡を削除する準備をしています,而地文件安全完好無処理好無
③ この変更を送信する
git commit -m "chore: remove scripts directory from git tracking"
4
git push
操作全体を通じて、ローカル ドキュメントと Git 追跡ステータスの変化は次のようになります。
sequenceDiagram 参加者 Local as 地地空件参加者 Index as Git 氮存区/公開小参加者 Remote as 真地结林 GitHub Note over Local,Index: 手机前:scripts/ 已誸追rm: 真量结林 GitHub –cached scripts/ Note over Local: 地地文件時間间発行 Index: 消对 scripts/ 的電視 Index->>Index: git commit インデックス->>リモート: git Push
03 |実行後の効果
- リモート リポジトリ (GitHub):
scripts/ディレクトリとその下のファイルは最新の送信から削除されますが、履歴内のファイルも削除されます。ファイルは履歴から削除されます。git filter-repo等の動作をオンラインで再書き込みします。 - ローカルフォルダー:コンピューター上上下ダウンロード是电影
scripts/フォルダーとすべてのスクリプト。 - フォローアップの変更: 在
.gitignore追加したscripts/ルールが追加された後 (まだ追加されていない場合は、完了まで転送してください)、その変更または新規のローカル バージョンは再度表示されず、追跡されません。
フォローしてください、和AIダウンロード手机~