IIC2233 / Syllabus

149 stars 13 forks source link

Problema con git push #693

Open chupedejaiba opened 18 hours ago

chupedejaiba commented 18 hours ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Problema

Hola, perdón la fecha y la hora, pero ocurre que he intentado hacer push de mi tarea muchas veces, incluso con las soluciones proporcionadas en las issues anteriores y cosas de internet, pero me sigue saliendo lo mismo luego del push, que sería lo siguiente:

Enumerating objects: 122, done. Counting objects: 100% (122/122), done. Delta compression using up to 12 threads Compressing objects: 100% (113/113), done. Writing objects: 100% (119/119), 564.94 MiB | 16.79 MiB/s, done. Total 119 (delta 40), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (40/40), completed with 2 local objects. remote: warning: File Tareas/T4/servidor/archivos/isweariamnotawhale.mp4 is 64.08 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/servidor/archivos/PSAS.mp4 is 89.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/servidor/archivos/attack_on_progra.mp4 is 86.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/servidor/archivos/docengelion.mp4 is 89.73 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: 5d48337b22d74fe7f24f206f7d9c2877da3956a5dc77e35004f4fd6724a89938 remote: error: See https://gh.io/lfs for more information. remote: error: File Tareas/T4/servidor/archivos/growing_plants.mp4 is 128.91 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. To https://github.com/IIC2233/chupedejaiba-iic2233-2024-2.git ! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to 'https://github.com/IIC2233/chupedejaiba-iic2233-2024-2.git'

Si pudieran ayudarme sería perfecto, que ya no sé qué hacer :( Muchas gracias de antemano.

3rdPix commented 14 hours ago

Hola @chupedejaiba !

El mensaje te indica que estás intentando subir los archivos de datos a GitHub. Sin embargo, estos archivos deben ser ignorados a través de .gitignore y por ende ni deberías subirlos a tu repositorio. Te recomiendo agregar esos archivos al .gitignore e intentarlo nuevamente.

chupedejaiba commented 14 hours ago

Hola!! Si ocurrió que para uno de mis primeros intentos de push no estaban en el .gitignore. Ahora, aun habiéndola añadido (y confirmado que está siendo ignorada con el git status --ignored, y ausente de los archivos en staging por git ls-files) sigue intentando subirse al pushear, por lo que el error se mantiene. ¿No podría tener que ver con algún historial o algo así? Muchas gracias por haber respondido y perdón por insistir :((

SebaZegers commented 2 hours ago

Hola, me pasa lo mismo y no sé como arreglarlo

3rdPix commented 2 hours ago

Lamento la tardanza, esto ocurre porque han hecho commits en que los archivos no estaban siendo ignorandos. De modo que Git ya los agregó al conjunto de archivos a considerar. Para cambiar esto, supongamos que tienen la carpeta con los archivos en un directorio de nombre archivos_tarea/. Deben ejecutar

git rm --cached archivos_tarea/

Esto debería arrojarles un mensaje semejante a

Y si ejecutan git status deberían obtener:

Luego crean un commit con estos cambios y listo, Git debería dejar de considerar ese directorio, si lo agregaron al .gitignore.

Jbalbin1 commented 1 hour ago

Hola, sigo con el mismo error luego de haber hecho eso, y me entrega lo siguiente al ejecutar el código:

C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2>git rm --cached Tareas/T4/Servidor/archivos_servidor/ fatal: pathspec 'Tareas/T4/Servidor/archivos_servidor/' did not match any files

3rdPix commented 1 hour ago

@Jbalbin1

El error te indica que no encuentra un archivo llamado archivos_servidor. Esto puede ocurrir porque

  1. Anotaste mal el path (en cuyo caso, basta con reintentarlo asegurándote que ese es en efecto el nombre)
  2. No especificaste la flag recursiva para aplicar el comando a una carpeta. Debes hacerlo con
git rm -r --cached Tareas/T4/Servidor/archivos_servidor/

La diferencia está en la flag -r que le indica a Git que se trata de un directorio y que debe aplicar ese comando a todo lo que está dentro del mismo.

Jbalbin1 commented 1 hour ago

ms sigue ocurriendo el mismo error. Mi procedimiento fue que trate de pushear, y me entregó esto, PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git push origin main --force Enumerating objects: 70, done. Counting objects: 100% (69/69), done. Delta compression using up to 8 threads Compressing objects: 100% (57/57), done. Writing objects: 100% (60/60), 562.39 MiB | 16.12 MiB/s, done. Total 60 (delta 8), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (8/8), completed with 4 local objects. remote: warning: File Tareas/T4/Servidor/archivos_servidor/PSAS.mp4 is 89.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/attack_on_progra.mp4 is 86.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/docengelion.mp4 is 89.73 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/isweariamnotawhale.mp4 is 64.08 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: f6ca240228d54e382681e33b0e6e83b7d577cd8d37429834bd346c573d17a668 remote: error: See https://gh.io/lfs for more information. remote: error: File Tareas/T4/Servidor/archivos_servidor/growing_plants.mp4 is 128.91 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. To https://github.com/IIC2233/Jbalbin1-iic2233-2024-2.git ! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to 'https://github.com/IIC2233/Jbalbin1-iic2233-2024-2.git' PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4>

Y luego eliminé los archivos, trate de pushear denuevo, y ahora estoy tratando con lo que sugieren. No se que hacer ya que no se ve reflejado ningún cambio en el repositorio y sino no puedo mandar nada :(

3rdPix commented 1 hour ago

@Jbalbin1

Primero te sugiero que no intentes correr comandos que encuentras por ahí en internet. El comando git push origin main --force es una pésima práctica que puede tener efectos devastadores en un repositorio. El problema quete está saliendo es exactamente el mismo que se ha mencionado en este hilo: estás intentando subir los archivos grandes de la tarea que deben ser ignorados.

Segundo, debes ejecutar el comando que indiqué en el comentario anterior. Es decir

git rm -r --cached CARPETAARCHIVOS

Esto eliminará del index la carpeta. Luego debes crear un commit con estos cambios y solo entonces pushear.

Jbalbin1 commented 1 hour ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git rm -r --cached T4/Servidor/archivos_servidor/ fatal: pathspec 'T4/Servidor/archivos_servidor/' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git status On branch main Your branch is ahead of 'origin/main' by 2 commits. (use "git push" to publish your local commits)

Changes not staged for commit: (use "git add/rm ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: T1/README.md deleted: T4/.gitignore

Untracked files: (use "git add ..." to include in what will be committed) T1/prueba1.py

no changes added to commit (use "git add" and/or "git commit -a") PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git add . PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git commit -m "Commit sin archivos bueno" [main e35333c] Commit sin archivos bueno 3 files changed, 1 insertion(+), 24 deletions(-) create mode 100644 Tareas/T1/prueba1.py delete mode 100644 Tareas/T4/.gitignore PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git push Enumerating objects: 79, done. Counting objects: 100% (78/78), done. Delta compression using up to 8 threads Compressing objects: 100% (64/64), done. Writing objects: 100% (67/67), 562.39 MiB | 17.01 MiB/s, done. Total 67 (delta 12), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (12/12), completed with 6 local objects. remote: warning: File Tareas/T4/Servidor/archivos_servidor/isweariamnotawhale.mp4 is 64.08 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/PSAS.mp4 is 89.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/attack_on_progra.mp4 is 86.61 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: warning: File Tareas/T4/Servidor/archivos_servidor/docengelion.mp4 is 89.73 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB remote: error: Trace: b361e5611d9d138d3edccb5789b33792d04b62370ec43ae137f46df5ea4c7c6c remote: error: See https://gh.io/lfs for more information. remote: error: File Tareas/T4/Servidor/archivos_servidor/growing_plants.mp4 is 128.91 MB; this exceeds GitHub's file size limit of 100.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. To https://github.com/IIC2233/Jbalbin1-iic2233-2024-2.git ! [remote rejected] main -> main (pre-receive hook declined) error: failed to push some refs to 'https://github.com/IIC2233/Jbalbin1-iic2233-2024-2.git' PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas>

Esto es lo que hice ahora, al final me sigue diciendo cómo si estuviera tratando de pushear los archivos o algo así. Además, borre los archivos de la carpeta para hacer el push, me imagino que los debo sacar o no?

3rdPix commented 1 hour ago

@Jbalbin1

El primer error te dice que estás ingresando mal el path de la carpeta. Asegúrate que estás insertando bien los nombres. Recuerda que git busca desde donde ejecutas el comando, por lo que debes insertar la ruta relativa a partir del directorio de ejecución.

3rdPix commented 1 hour ago

Si eliminaste la carpeta justo antes de hacer el push y después de hacer el commit entonces no estás pusheando con los cambios adecuados. Si en ese estado, ejecutas git status debería salirte la carpeta de archivos como un cambio no añadido al área de staging. Para agregarlo en esa condición debes ejecutar git add -u. Luego verifica con git status nuevamente que la carpeta con los archivos aparece como añadida bajo el estado "deleted". Entonces crea el commit y pushea los cambios.

Jbalbin1 commented 1 hour ago

Te voy a pegar todo lo que he escrito en el terminal, pero ninguna ruta me esta funcionando para lo que dices primero, el nombre del archivo esta bien, e incluso antes probé directamente estando en la carpeta Servidor, y aún así entregaba el mismo mensaje.

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git rm -r --cached /T4/Servidor/archivos_servidor fatal: Invalid path '/T4': No such file or directory PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git rm -r --cached T4/Servidor/archivos_servidor fatal: pathspec 'T4/Servidor/archivos_servidor' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git rm -r --cached T4/Servidor/archivos_servidor/ fatal: pathspec 'T4/Servidor/archivos_servidor/' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> cd .\T4\ PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git rm -r --cached Servidor/archivos_servidor/ fatal: pathspec 'Servidor/archivos_servidor/' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git rm -r --cached Servidor/archivos_servidor fatal: pathspec 'Servidor/archivos_servidor' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git rm -r --cached Servidor\archivos_servidor fatal: pathspec 'Servidor\archivos_servidor' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git rm -r --cached Servidor\archivos_servidor\ fatal: pathspec 'Servidor\archivos_servidor\' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> cd .. PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git add -u PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas>

3rdPix commented 58 minutes ago

Estando en Tareas/T4 muéstrame la salida del comando

dir
Jbalbin1 commented 57 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4> dir

Directorio:
C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4

Mode LastWriteTime Length Name


d----- 22-11-2024 14:04 Cliente d----- 22-11-2024 14:04 Servidor d----- 19-11-2024 23:07 pycache -a---- 21-08-2024 10:14 0 .keep -a---- 19-11-2024 15:18 582 parametros.py

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4>

Esta es :)

3rdPix commented 56 minutes ago

Ahora lo mismo pero dentro de Tareas/T4/Servidor

dir
Jbalbin1 commented 54 minutes ago

Mode LastWriteTime Length Name


d----- 22-11-2024 15:40 archivos_servidor -a---- 18-11-2024 16:23 2 archivos.py -a---- 17-11-2024 22:37 6 descargas_clientes.json -a---- 17-11-2024 19:03 1756 funciones.pyc -a---- 22-11-2024 13:07 8870 main.py -a---- 19-11-2024 15:34 63 networking_setup.json -a---- 19-11-2024 15:21 6 puertos_clientes.json

Eso sale (omití la parte que dice Directorio: C:........\Servidor para que se vea bien)

3rdPix commented 53 minutes ago

Estando ahí mismo escribe exactamente

git rm --cached archivos_servidor

(sin puntos ni slashes). Muéstrame el output de eso y de git status despues de correr el comando

Jbalbin1 commented 51 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git rm --cached archivos_servidor fatal: pathspec 'archivos_servidor' did not match any files PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

3rdPix commented 46 minutes ago

Estando ahí mismo escribe exactamente

git update-index --force-remove --assume-unchanged archivos_servidor

(sin puntos ni slashes). Lo mismo, muéstrame el output de eso y git status

Jbalbin1 commented 45 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git update-index --force-remove --assume-unchanged archivos_servidor fatal: Unable to mark file Tareas/T4/Servidor/archivos_servidor PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

Ahi esta :)

3rdPix commented 41 minutes ago

Ok, tiempo de recurrir a un metodo feo. Elimina la carpeta archivos_servidor de la carpeta del servidor, eliminala de verdad. Luego muestrame git status

Jbalbin1 commented 35 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

Se ve así. También justo tenía un archivo llamado archivos.py, y aproveche de elmiminarlo, y ahí efectivamente sale algo distinto: PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

Changes not staged for commit: (use "git add/rm ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) deleted: archivos.py

no changes added to commit (use "git add" and/or "git commit -a")

Pero despues la volvi a añadir por si acaso xd no quiero que fallen mas cosas

3rdPix commented 31 minutes ago

Tienes la carpeta archivos_servidor en el .gitignore? Si es así. Saca esa línea del .gitignore (si, para que git la vuelva a considerar). Pero recuerda que la tienes eliminada, esto deberia seguir así. Guarda los cambios al .gitignore y luego, ya sabes, git status

Jbalbin1 commented 28 minutes ago

Creo que no lo tengo, tengo lo siguiente en el gitignore: Enunciado.pdf funciones.pyc

README_inicial.md Servidor/puertos_clientes.json Servidor/descargas_clientes.json Servidor/archivos_servidor/ Servidor/archivos_servidor/.mp4 Servidor/archivos_servidor/.jpg Servidor/archivos_servidor/*.png

Servidor/networking_setup.json Servidor/funciones.pyc

puertos_clientes.json networking_setup.json descargas_clientes.json

Cliente/parametros_cliente.json Cliente/networking_setup.json

parametros_cliente.json Cliente/funciones.pyc

Cliente/Frontend/funciones.pyc Cliente/Backend/funciones.pyc Cliente/archivos_descargados/

Ahora borre las lineas que contenian algo relacionado a la carpeta archivos_servidor, y el git status es el siguiente:

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

3rdPix commented 18 minutes ago

Antes de proceder a métodos más violentos... Un último tiro. Corre git add -A en la carpeta Servidor. Ya sabes qué mostrar

Jbalbin1 commented 17 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git add -A PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git status On branch main Your branch is ahead of 'origin/main' by 3 commits. (use "git push" to publish your local commits)

nothing to commit, working tree clean PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

Sigue saliendo lo mismo :(

3rdPix commented 15 minutes ago

git ls-files

Jbalbin1 commented 13 minutes ago

PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor> git ls-files archivos.py descargas_clientes.json main.py networking_setup.json puertos_clientes.json PS C:\Users\felip\Desktop\PROGRA\Jbalbin1-iic2233-2024-2\Tareas\T4\Servidor>

3rdPix commented 9 minutes ago

Sacaremos la herramienta prohibida favorita de tus profesores.

Vas a clonar tu repositorio de nuevo. Pero, clonalo a una carpeta distinta, como si estuvieras clonandolo por primera vez, por ejemplo, clonalo en el escritorio. (tiene que ser un directorio distinto a donde tienes tu repo actualmente). Luego, vas a manualmente copiar todos los archivos importantes de tu tarea a esa nueva ubicación de tu repositorio. Por el amor de batman no copies los archivos_servidor. Una vez que hayas copiado todos los archivos, ve con el terminal a ese nuevo directorio donde tienes el repo, y en ese nuevo, agrega la carpeta de tu tarea T4 con git add T4. Luego git status, y si te muestra los archivos de tu tarea únicamente, crea el commit y pushealo.