¿Ignorar archivos modificados (pero no confirmados) en git?


¿Puedo decirle a git que ignore los archivos que están modificados (eliminados) pero que no deben confirmarse?

La situación es que tengo un subdirectorio en el repositorio que contiene cosas en las que no estoy interesado en absoluto, así que lo eliminé para evitar que aparezca en autocompletaciones y similares (en el IDE).

Pero ahora, si agrego esa carpeta a .gitignore, simplemente nada cambia, todo el material se muestra como eliminado por git status.

¿Hay alguna manera de hacer que git lo ignore? ¿camino?

(Alternativamente, como estoy usando git-svn, ¿podría confirmar los cambios en el git local y asegurarme de que no se pasen al repositorio svn?)

Author: Sam, 2009-03-17

5 answers

Echa un vistazo a la página de manual git-update-index y el bit assume assume-unchanged y relacionado.

Cuando tengo tu problema hago esto

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

O un archivo específico

git update-index --assume-unchanged config/database.yml
 239
Author: csmosx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-27 14:49:56

Una opción más nueva y mejor es git update-index --skip-worktree que no se perderá en un reinicio o un nuevo cambio desde un pull.

Vea la página de manual en http://schacon.github.com/git/git-update-index.html

Y una comparación en http://fallengamer.livejournal.com/93321.html

 36
Author: Dave L.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-29 17:17:23

Los archivos rastreados no se pueden ignorar, por lo que primero tendrá que eliminarlos de su índice. Agregue un .gitignore que ignore los directorios que no desea, luego elimínelos y elimine los rezagados con git rm --cached.

 6
Author: John Feminella,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-17 17:37:24

Lo que suelo hacer es

Git stash

Git whatever-else

Git stash apply

Git stash clear

 5
Author: Walter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-03-17 21:09:44

Utilice este código

git update-index --assume-unchanged file-name
 3
Author: Sujiraj R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-20 05:56:41