Estamos ejecutando un repositorio git central (gforge) que todos extraen y presiona. Desafortunadamente, algunos compañeros de trabajo ineptos han decidido empujar varios archivos jar de 10-100Mb en el repositorio era una buena idea. Como consecuencia de esto, nuestro servidor que usamos mucho se ha quedado sin espacio en disco.Eliminar commits grandes de git
Solo nos dimos cuenta de esto cuando ya era demasiado tarde y la mayoría de la gente había sacado el nuevo gran repositorio. Si el problema no se hubiera solucionado, podríamos simplemente hacer una rebase para recortar esos grandes commits y solucionarlo, pero ahora todos han sacado de allí, ¿cuál es la mejor manera de eliminar esa confirmación (o hacer una rebase solo eliminar los archivos grandes) y luego tener este no causa caos cuando todo el mundo quiere tirar/empujar desde/hacia el repositorio?
Se supone que es una pequeña cesión temporal de guiones, pero es ahora de unos 700M de tamaño :-(
He leído esta guía con anterioridad, pero ¿qué sucede después de que he destruido las confirmaciones? La gente ya ha retirado el compromiso del monstruo. Lo que es probable que ocurra es que alguien haga un compromiso local y luego un empujón, se quejará de que necesita una fusión, por lo que se fusionarán y presionarán y la confirmación del monstruo volverá. ¿Cómo me aseguro de que esto no ocurra? (Enviarlos por correo electrónico para preguntar es poco probable que funcione) – agentgonzo
Una vez que elimine los archivos que no desea, siempre se recomienda que los agregue al archivo .gitignore. De esa forma, Git dejará de rastrear esos archivos y evitará que se vuelva a presionar. –
Sanhka, no impide que sean empujados, ya que evita que se comprometan. Entonces, como ya se han comprometido, un empujón los retrasaría. – agentgonzo