Ignoriere modifizierte (aber nicht festgeschriebene) Dateien in git?

Kann ich git anweisen, Dateien zu ignorieren, die modifiziert (gelöscht), aber nicht festgeschrieben werden sollten?

Die Situation ist, dass ich ein Unterverzeichnis im Repo habe, das Sachen enthält, an denen ich überhaupt nicht interessiert bin, also habe ich es gelöscht, um zu verhindern, dass es in Autovervollständigungen und ähnlichem auftaucht (in der IDE).

Aber jetzt, wenn ich diesen Ordner zu .gitignore hinzufüge, ändert sich einfach nichts, alle Sachen werden als git-Status gelöscht angezeigt.

Gibt es eine Möglichkeit, Git zu ignorieren, egal wie?

(Alternativ könnte ich, wenn ich git-svn verwende, die Änderungen am lokalen git festschreiben und sicherstellen, dass sie nicht an den svn repo weitergeleitet werden?)

Schauen Sie sich die Manpage git-update-index und das –assume-unveränderte Bit und damit zusammenhängend an.

Wenn ich dein Problem habe, mache ich das

git update-index --assume-unchanged dir-im-removing/ 

oder eine bestimmte Datei

 git update-index --assume-unchanged config/database.yml 

Eine neuere und bessere Option ist git update-index --skip-worktree die bei einem Hard-Reset oder einer neuen Änderung durch einen Pull nicht verloren geht.

Siehe die man-Seite unter http://schacon.github.com/git/git-update-index.html

Und ein Vergleich unter http://fallengamer.livejournal.com/93321.html

Nachverfolgte Dateien können nicht ignoriert werden. Sie müssen sie daher zuerst aus Ihrem Index entfernen. Fügen Sie ein .gitignore , das die Verzeichnisse ignoriert, die Sie nicht möchten, löschen Sie sie und entfernen Sie alle Nachzügler mit git rm --cached .

Was ich normalerweise mache ist

Git stash

git was-auch-sonst

Git Stash gelten

Git stash klar

Verwenden Sie diesen Code

 git update-index --assume-unchanged file-name