¿Como ignoro un directorio para pull? – git

Pregunta:


se me presenta la siguiente situacion:
Yo tengo un sistema que funciona con apache y php, uso hojas de estilo en less, para simplificar tengo una estructura de carpetas asi:

rootDir/index.php
rootDir/img/
rootDir/css/
rootDir/less/
rootDir/js/

En el servidor de prueba funciona todo lo mas bien, cuando hago un cambio y esta listo lo pusheo a el servidor git.
Ahora bien, cuando quiero hacer un pull desde el servidor de produccion para hacer efectivos esos cambios en el otro entorno obtengo todos esos archivos.
El problema es que el directorio less no hace falta ya que estos se compilan en css, pero al hacer pull estos son traidos de todas formas. Quisiera que la estructura del servidor de produccion sea asi

rootDir/index.php
rootDir/img/
rootDir/css/
rootDir/js/

He intentado tanto modificar el arrchivo .gitignore en mi servidor de produccion para ignorar el directorio, lo cual no funciono, y tambien ejecutar el comando git update-index --assume-unchanged less/*, pero cuando ejecuto el comando git update-index --refresh este me avisa de que todos los archivos less necesitan una actualizacion.
Puedo borrarlos manualmente siempre que haga un pull, pero me gustaria evitarlo si es posible.


Edito mi pregunta para aclarar lo siguiente:
A mi me interesa que todos los archivos esten versionados, i.e. que el servidor git los almacene y no sean ignorados en un push, solo me interesa que no esten en el entorno de producción.

Preguntado por: Sacha

J. Rodríguez

Respuesta corta sería:

less/

Tenga en cuenta que si usa solo less ignorarán los archivos llamados less, mientras que si usa less/ ignorara el directorio como tal.

Git no ignora los archivos mientras lo tira. En su lugar, debe agregar estos archivos en sus archivos .gitignore, para que no se comprometan y se envíen a repositorios remotos.

Si estos archivos ya están en su repositorio remoto, entonces debe eliminarlos usando por ejemplo:

git rm --cached comun/main-local.php

git rm --cached comun/parametros-local.php

Si desea eliminar el directorio común, entonces en .gitignore agregar:

comun/**

Y elimina el directorio:

git rm --cached -r comun
  • Remover (rm).
  • Indice (–cached).
  • Recursivamente (-r).

Ahora haz un nuevo commit y push. Estos archivos se eliminarán del repositorio remoto también.

Aquí te dejo estos enlaces que pueden ayudarte también:

Una opción es especificar en tu archivo .gitignore (si no existe puedes crearlo) el directorio que deseas se ignore, en este caso el directorio:

/less 

el archivo .gitignore debe localizarse dentro de:

rootDir/

Revisa la documentación acerca de .gitignore.


Modifica el archivo .gitignore en tu copia local y lo subes al servidor.

Fuente

Related Posts:

Consulta sobre git – git github
Pregunta: Tengo un repositorio remoto https://github.com/xxxx/yyy.git En el mismo host donde estoy ubicado habia creado la repo y pusheado , me pidio el nick y password ...
Los repositorios de GIT muestran una modificación en una rama en la rama padre – git
Pregunta: Usando GIT para manejar mis proyectos, noté una serie de errores. Por ejemplo, al crear una rama (git checkout -b nueva_rama), ésta se crea normalmente, ...
¿Cómo eliminar un tag en Git? – git
Pregunta: Trabajando en una rama, accidentalmente se creo y subió al servidor un 'tag' con un nombre erróneo para la línea de versionado de las ...
Permitir que el archivo .gitignore deje subir una carpeta con los archivos que tiene dentro – git
Pregunta: Las rutas son /storage/app/public/employees y /storage/app/public/projects, en /storage/app/public tengo el archivo .gitignore. ¿Como puedo hacer para que ignore todo excepto esas dos carpetas? ...
Nuevo repositorio Git a partir de otro – git commit
Pregunta: Tengo un repositorio Git 'git1' que tiene cerca de 35.000 commits. Necesito crear un nuevo repositorio 'git2' que contenga los últimos 1.000 commits de ...
c++ – Preprocesador – Duda existencial – c++ c git
Pregunta: realmente tengo una duda existencia, y a medida que avanzo me hace mas ruido y realmente no sé si estoy haciendo las cosas bien. ...
Forma más simple de listar en git los archivos conflictivos – git conflictos
Pregunta: Sólo necesito la lista de los archivos conflictivos. Existe algo más simple que: git ls-files -u | cut -f 2 | sort -u o git ls-files -u ...
¿Es útil Git para trabajar individualmente? – git
Pregunta: No soy usuario de Git, he leído sobre él y me parece interesante, pero por lo que he leído sus ventajas (o su utilidad) ...
Error en comparacion en Eclipse, dice que todo es distinto cuando no es así – eclipse git comparaciones
Pregunta: Buenos días, Quería preguntar por qué mi Eclipse me dice que dos archivos son completamente distintos cuando no es así, he intentado ...
Problema nombre autor en repositorio remoto – git bitbucket
Pregunta: Estoy trabajando con Git en MAC, desde terminal y me aparece un nombre de autor diferente al esperado en el repositorio remoto cuando hago ...
¿Cómo borrar definitivamente un commit en git? – git
Pregunta: Creo un repositorio con dos commits : ~/ttt$ echo 1 > a ~/ttt$ git init Initialized empty Git repository in /home/jose/ttt/.git/ ~/ttt$ git add . ~/ttt$ git commit -m ...
¿Qué significa “-m” en “git commit -m”? – git git-commit
Pregunta: Estoy aprendiendo a usar Git y para dejar un commit, usan el comando git commit -m. Entiendo lo primero, pero no sé que significa ...
Volver al estado anterior a git stash – git
Pregunta: Recientemente he descubierto que git stash pop no funciona como yo espero/deseo. git stash pop hace un merge entre el estado actual y lo ...
¿Cómo puedo utilizar Sublime Text mediante Git Bash? – git bash sublimetext3
Pregunta: Intenta corrigiendo la ruta echo 'alias subl="'C:Program FilesSublime Text 3sublime_text.exe' "' >> ~/.bashrc Luego escribí el comando siguiente para probarlo: source ~/.bashrc Y con esto ya podía abrir ...
git reset –merge y reset –keep – git
Pregunta: Tratando de profundizar mas en git me encontre con un par de opciones en git sin embargo tras leer la documentación e investigar por ...
Tags:

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *