1. ホーム
  2. ギット

[解決済み】新しい .gitignore ファイルで git リポジトリを再同期する。

2022-04-05 14:26:24

質問

gitignore ファイルを更新した後に、git リポジトリを "refresh" することは可能でしょうか?

私はちょうど私のgitignoreに多くの無知(?)を追加し、新しいファイルに一致するレポにすでにあるものを削除したいと思います。

解決方法は?

で紹介した解決策です。 .gitignore ファイルが無視されない "は、少し極端ですが、うまくいくはずです。

# rm all files
git rm -r --cached .
# add all files as per new .gitignore
git add .
# now, commit for new .gitignore to apply
git commit -m ".gitignore is now working"

( 残したい変更を先にコミットしてください。 のような事態を避けるためです。 jball037 以下のコメント .

--cached オプションは、ディスク上のファイルをそのままにしておきますが)。

また、ブログ記事「"」にて、より細かい解決策をご紹介しています。 Git が追跡済みのファイルを無視するようにする となります。

git rm --cached `git ls-files -i --exclude-standard`


バシム を提案します。 を編集しています。 :

パスにスペースが含まれるファイル

<ブロッククオート

のようなエラーメッセージが表示された場合 fatal: path spec '...' did not match any files パスが空白になっているファイルがある可能性があります。

それ以外のファイルを削除するには、オプション --ignore-unmatch :

git rm --cached --ignore-unmatch `git ls-files -i --exclude-standard`

しかし、マッチしないファイルはリポジトリに残り、そのパスを二重引用符で囲んで明示的に削除する必要があります。

git rm --cached "<path.to.remaining.file>"