tag remove from cached all git git-rm

remove - Git-rm--cached borrará los archivos del árbol de trabajo de otro usuario cuando tiren



git tag (2)

Deseo dejar de rastrear archivos pero aún así mantenerlos en mi árbol de trabajo.

He reunido que git rm --cached FILE me permitirá hacer eso. Sin embargo, si alguien más hace este cambio, ¿se eliminarán sus copias locales?


En tal caso, preferiría ignorarlos solo localmente :

Si ya están rastreados:

git update-index --skip-worktree FILE

Si no se rastrearon: agréguelos a su archivo de exclusión local

echo "FILE" >> .git/info/exclude

También puedes tener .gitignore global si es algo que harás para todos tus repositorios (por ejemplo, * ~)


Sí, sus copias serán eliminadas automáticamente. Imagínese si esta eliminación no se realizara, entonces las copias de trabajo de todos los usuarios se contaminarían con pilas de archivos eliminados, que ya no son necesarios.

Sin embargo, si los usuarios remotos realizaron cambios locales en estos archivos, no se eliminarán, ya que la pull provocará un conflicto de combinación.

Como Jefromi sugiere en su comentario, mientras que los archivos se eliminan en el lado de los otros usuarios, pueden restaurarse fácilmente: están bajo un control de versiones, ¿no es así? ;-) Los archivos se pueden obtener por git checkout <revision> -- <files...> . Como revisión, puede especificar el ID de la confirmación anterior, para tirar se guarda en ORIG_HEAD (consulte esta pregunta para obtener más detalles):

git checkout ORIG_HEAD -- removed_file