working remove not node_modules from example git node-modules

remove - Git-Ignora la carpeta node_modules en todas partes



not ignore git (5)

Tengo un proyecto que contiene muchos otros proyectos:

  • Proyecto principal
    • Mini proyecto 1
    • Mini proyecto 2

Todos contienen la carpeta node_modules . Quiero que git ignore la carpeta sin importar dónde comience desde la carpeta raíz. Algo como esto para agregar .gitignore:

*node_modules/*


Agrega esto

node_modules/

al archivo .gitignore para ignorar todos los directorios llamados node_modules en la carpeta actual y cualquier subcarpeta


Cree el archivo .gitignore en la carpeta raíz directamente por el editor de código o por comando

Para Mac y Linux

/node_modules

Para ventanas

# See https://help.github.com/ignore-files/ for more about ignoring files. # dependencies /node_modules # testing /coverage # production /build # misc .DS_Store .env.local .env.development.local .env.test.local .env.production.local npm-debug.log* yarn-debug.log* yarn-error.log*

abrir .gitignore declarar carpeta o nombre de archivo como este / foldername


Intenta hacer algo como esto

git status

** se usa para una llamada recursiva en todo el proyecto

Dos asteriscos consecutivos ("**") en patrones que coinciden con el nombre de ruta completo pueden tener un significado especial:

Un " " inicial seguido de una barra inclinada significa coincidencia en todos los directorios. Por ejemplo, " / foo" coincide con el archivo o directorio "foo" en cualquier lugar, igual que el patrón "foo". "** / foo / bar" coincide con el archivo o directorio "bar" en cualquier lugar que esté directamente debajo del directorio "foo".

Una "/ " final coincide con todo lo que hay dentro. Por ejemplo, "abc / " coincide con todos los archivos dentro del directorio "abc", en relación con la ubicación del archivo .gitignore, con profundidad infinita.

Una barra inclinada seguida de dos asteriscos consecutivos y luego una barra inclinada coincide con cero o más directorios. Por ejemplo, "a / ** / b" coincide con "a / b", "a / x / b", "a / x / y / b" y así sucesivamente.

Otros asteriscos consecutivos se consideran inválidos.

Reference


Lo primero y más importante es agregar el archivo .gitignore en mi aplicación. Al igual que en la imagen de abajo.

y luego agregue esto en su archivo .gitignore

touch .gitignore && echo "node_modules/" >> .gitignore

Nota

También puede agregar otros archivos para ignorarlos y enviarlos a Github. Aquí hay algunos archivos más guardados en .gitignore. Puede agregarlos de acuerdo a sus requerimientos. # es solo una forma de comentar en el archivo .gitignore.

git rm -r --cached node_modules && touch .gitignore && echo "node_modules/" >> .gitignore


Utilice el one-liner universal en la terminal en el directorio del proyecto:

toque .gitignore && echo "node_modules /" >> .gitignore && git rm -r --cached node_modules; estado git

Funciona sin importar si ha creado un .gitignore o no, no importa si ha agregado node_modules al seguimiento de git o no.

Luego comete y empuja los cambios .gitignore .

Explicación

touch generará el archivo .gitignore si aún no existe.

echo y >> agregarán node_modules/ al final de .gitignore , haciendo que la carpeta node_modules y todas las subcarpetas sean ignoradas.

git rm -r --cached elimina la carpeta node_modules del control git si se agregó antes. De lo contrario, esto mostrará una advertencia de la pathspec ''node_modules'' did not match any files , lo que no tiene efectos secundarios y puede ignorarlo con seguridad. Las banderas hacen que la eliminación sea recursiva e incluyen el caché.

git status muestra los nuevos cambios. Aparecerá un cambio a .gitignore , mientras que node_modules no aparecerá ya que git ya no lo rastrea.