私はGithubでホストされているgitリポジトリを持っています。多くのファイルをコミットした後、.gitignore
を作成し、.exe
,.obj
というファイルを除外する必要があることを認識しています。コミット後のgitignore
ただし、これらのコミットされたファイルはリポジトリから自動的に削除されますか?それを強制する方法はありますか?
私はGithubでホストされているgitリポジトリを持っています。多くのファイルをコミットした後、.gitignore
を作成し、.exe
,.obj
というファイルを除外する必要があることを認識しています。コミット後のgitignore
ただし、これらのコミットされたファイルはリポジトリから自動的に削除されますか?それを強制する方法はありますか?
ありませんあなたはすでにレポにコミットされたファイルを強制することはできませんが、単に削除されますレポ。ですから、あなたのレポからすべてのexeファイルのを削除したい場合は
git rm --cached /\*.exe
は(アスタリスク*から引用されていることに注意してくださいません(おそらくローカルコピーを保持しますが。レポから削除するので、--cached)シェル - これはシェルではなくgitにファイルとサブディレクトリのパス名を展開させます)
ただし、これらのコミットされたファイルはリポジトリから自動的に削除されますか?でも、既存の
.gitignore
と
いいえ、あなたは-f
(強制)フラグを「無視」ファイルを上演することができます。すでにコミットされているファイルは、自動的に削除されません。それはあなたがしたくないファイルを削除するには、git rm --cached
に持って.gitignore
に追加されているため
git rm --cached path/to/ignored.exe
それは私が個々に.exeを個別に削除することを意味しますか? –
あなたはおそらくこれを一括して行うことはできますが、私はこれがどのようにウィンドウ下で動作するのか分かりません。 – KingCrunch
ただし、これらのコミットされたファイルはリポジトリから自動的に削除されますか?
このgit filter-branch
を使用しているを行うための '最良' のレシピがここで書かれた番号:gitのフィルタ分岐用
manページ包括的な例を含んでいる。
注:あなたは履歴を書き換えます。誤って追加されたファイルを含むリビジョンを公開していた場合、これらの公共支店のユーザーに問題が発生する可能性があります。あなたに知らせるか、ファイルを削除する必要があるかについて考えてみてください。
注記タグがある場合は、git filter-branch
には常に--tag-name-filter cat
オプションを使用してください。
ファイルを削除してからコミットしても、それらのファイルはまだ履歴に残っています。それらを削除するには、BFG Repo-Cleanerを使用することを検討してください。これはgit-filter-branchの代わりです。
私は削除する必要がありました。アイデアとターゲットフォルダとすべてのコメントを読んだ後、これは私の仕事:
git rm -r .idea
git rm -r target
git commit -m 'removed .idea folder'
をして、あなたはすでに変更がプッシュされていない場合は
を習得するためにプッシュする:
git rm -r --cached .
git add .
git commit -m 'clear git cache'
git push
今後のGooglerはこれを見つけることが非常に便利です。簡潔でポイントに:https://www.git-tower.com/learn/git/faq/ignore-tracked-files-in-git –