¿Por qué mi .gitignore actualizado no funciona para los archivos que se están rastreando?

3 minutos de lectura

avatar de usuario de shin
espinilla

Tengo el siguiente archivo .gitignore

# file named .gitignore

system/application/config/database.php
system/application/config/config.php
system/logs
modules/recaptcha/config/*

Sin embargo, cuando agrego cambios en la configuración y recapcha.php, el estado de git me advierte de la siguiente manera. Cuando agrego cambios a base de datos.php. no lo muestra en estado

shin@shin-Latitude-E5420:/var/www/myapp$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   modules/recaptcha/config/recaptcha.php
#   modified:   system/application/config/config.php
#
no changes added to commit (use "git add" and/or "git commit -a")

¿Cómo puedo arreglar esto?

Estoy usando git versión 1.7.5.1 en Ubuntu 11.04

  • posible duplicado de Git: elimine un archivo del repositorio sin eliminarlo del sistema de archivos local

    – Cascabel

    1 de febrero de 2012 a las 20:31

Avatar de usuario de DipSwitch
Dip switch

Los archivos ya están almacenados en su árbol de confirmación local. Primero deberá eliminarlos del repositorio. Esto se puede hacer a través de:

git rm --cached system/application/config/config.php modules/recaptcha/config/recaptcha.php

Después de eso, deberá realizar una confirmación más y estará listo para comenzar.

  • Gracias. git rm eliminó un archivo. Pero agregar –cached resolvió el problema. ¿Qué debo hacer si quiero volver a agregarlo? ¿Solo necesito sacar del archivo .gitignore?

    – espinilla

    17 mayo 2011 a las 12:53


  • Estupendo. Gracias

    – manuelbcd

    25 de octubre de 2017 a las 10:23

Haga lo siguiente para activar el ignorar

Paso 1:
Confirme todos sus cambios pendientes en el repositorio que desea corregir y presione eso.

Paso 2:
Ahora debe eliminar todo del índice de git para actualizar su repositorio de git. Esto es seguro. Usa este comando:

git rm -r --cached .

Paso 3:
Ahora debe agregar todo nuevamente al repositorio, lo que se puede hacer con este comando:

git add .

Etapa 4:
Finalmente, debe confirmar estos cambios, usando este comando:

git commit -m "Gitignore issue fixed"

  • ¡GRACIAS! manera más fácil y rápida.

    – Caminata Nalbandyan

    30 de mayo de 2019 a las 7:34

  • ¡Esto funcionó perfectamente! Fue tan simple. Muchas gracias @NandaGopal

    – Adán

    2 de marzo de 2020 a las 23:20

  • Esto es exactamente lo que necesitaba y salvó mi día. Gracias

    – aleatorio

    3 de febrero de 2021 a las 10:20

Si su archivo ya está en git antes de agregar el directorio a .gitignore, git lo seguirá rastreando. Si no lo quiere, haga un “git rm” para eliminarlo primero.

  • No git rm (sin que --cached) también eliminar el archivo? ¿O lo deja porque está listado en el .gitignore ¿expediente?

    – Dip switch

    17 mayo 2011 a las 12:26

  • Probablemente deberías hacer una copia de seguridad en algún lugar antes. Después de confirmar y confirmar, cópielo de nuevo. Pero no sabía acerca de la opción –cached, lo miraré.

    –Eric Hogue

    17 mayo 2011 a las 12:40


Supongo que tu .gitignore no está en la raíz de tu árbol de trabajo.

Si coloca un .gitignore en el mismo directorio que system/application/config/config.php, puede usar

echo config.php >> system/application/config/.gitignore

Las rutas son relativas al directorio actual (o: .gitignore es un por directorio archivo de exclusión/inclusión).

Ver hombre git-ignorar

¿Ha sido útil esta solución?