¿Cómo puedo hacer que git ignore futuras revisiones de un archivo?

Resuelto Marc asked hace 13 años • 7 respuestas

Creé una versión predeterminada de un archivo incluido en un repositorio de git. Es importante que cuando alguien clone el repositorio, obtenga una copia de este archivo. Sin embargo, me gustaría configurar git para que ignore los cambios en este archivo más adelante. .gitignoresólo funciona en archivos sin seguimiento.

Mi motivación es que este archivo contiene información específica de la máquina. Me gustaría proporcionar valores predeterminados y, al mismo tiempo, permitir que las personas realicen cambios locales que no se enviarán al repositorio de origen, lo que creará conflictos de fusión cuando realicemos nuevos cambios.

Generalmente somos bastante vagos y usamos git add .mucho, así que estoy bastante seguro de que si no puedo decirle a git que ignore este archivo, los cambios terminarán siendo confirmados y enviados.

Para resumir,

  1. Me gustaría crear un archivo, llamarlo, default_values.txtque se agrega a mi repositorio de git y se incluye cuando alguien clona ese repositorio.
  2. git add .no debe agregarse default_values.txtal compromiso.
  3. Este comportamiento debe transmitirse a cualquier clon del repositorio.
Marc avatar Dec 04 '10 01:12 Marc
Aceptado

Como muchos otros han mencionado, una buena solución moderna es:

git update-index --skip-worktree default_values.txt

Eso ignorará los cambios en ese archivo, tanto locales como ascendentes, hasta que decida permitirlos nuevamente con:

git update-index --no-skip-worktree default_values.txt

Puede obtener una lista de archivos marcados como omitidos con:

git ls-files -v . | grep ^S

Tenga en cuenta que, a diferencia de --skip-worktree, el --assume-unchangedestado se perderá una vez que se realice un cambio ascendente.

moodboom avatar Sep 29 '2016 17:09 moodboom

Lo que estás buscando es git update-index --assume-unchanged default_values.txt.

Consulte los documentos para obtener más detalles: http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html

tamasd avatar Dec 03 '2010 19:12 tamasd