git rm – cached no funciona

He estado tratando de eliminar algunos files del sistema de control de versiones de git para que no sean empujados en commits.

Tanto git rm –cached filename como git rm –force –cached filename no funcionan para varios files. Básicamente, los files eliminados se envían a github (no cuando cambio los files en cuestión, sino solo cuando edito y confirmo otros files en el proyecto).

Además, durante un par de files, me pongo fatal: pathspec no coincide con ningún error de files cuando los files existen en la ruta del command git rm.

Aquí se busca algo, pero no sé cómo reiniciar todo de forma segura. ¿Puedes ayudarme?

agregue la ruta del file a .gitignore en la carpeta raíz de su proyecto.

Pruebe estos commands:

  1. git reset filename

  2. git reset HEAD filename

Eliminarán los files del área de preparación.

No es suficiente eliminar un file del índice. También debe crear una confirmación de ese índice para la twig en la que se encuentra y luego enviarla al repository remoto donde desea que aparezca este cambio. Las eliminaciones no se enviarán a github si todo lo que haces es git rm ... y luego un git push sin un commit.

Después de realizar un git rm --cached , los files se eliminan del índice, mientras permanecen en el tree de trabajo.

Si luego ejecuta git diff , no verá nada: es porque está comparando el tree de trabajo con la punta de la twig. Para ver la eliminación por etapas, use git diff --cached . Esa es la diferencia entre la punta de la twig y el índice. Eso es lo que se comprometerá la próxima vez que invoque a git commit .

Sus eliminaciones se envían solo cuando se comprometen otros files porque las confirmaciones son necesarias para su eliminación. Cuando haces otros cambios y los comprometes, esos commits están recogiendo las eliminaciones previamente organizadas.

Si ha combinado accidentalmente un file fuera de tema quitando un file x con ediciones en un file y en la misma confirmación, puede usar git reset HEAD^ -- x para crear un índice por etapas que invierta la eliminación de x . Entonces cometer eso. O use commit --amend si aún no ha publicado el commit incorrecto. El commit modificado ahora solo tiene las ediciones x es una vez más un file rastreado. Ahora vuelva a hacer la eliminación con rm --cached x y haga una nueva confirmación para eso.