es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo eliminar ciertos archivos de una solicitud de extracción con muchos commits?

Para generalizar, supongamos que tengo un proyecto con el siguiente directorio. ¿Cómo eliminaría finalmente el archivo file2.txt después de hacer push y hacer una solicitud de pull?

app/someFolder
– file1.txt
– file2.txt
– file3.txt

Supongamos que mis commits son estos:

Commit 1
file1.txt
Hola Mundo
file2.txt
Genial, magnífico
file3.txt
2 de diciembre

git add .
git commit -m “commit 1”
git push –set upstream origin someBranchOnRemote

Commit 2
file1.txt
Hola Mundo
Jefe Bajo

git add .
git commit -m “commit 2”
git push

Commit 3
file3.txt
3 de diciembre

git add .
git commit -m “commit 3”
git push

Entonces, si hiciera una solicitud de pull, los archivos se verían así:

file1.txt
Hola Mundo
Jefe Bajo
file2.txt
Genial, magnífico
file3.txt
3 de diciembre

Ahora, ¿cómo actualizo la solicitud de pull para que file2.txt no esté incluido? Supongamos que los hashes son hash1, hash2 y hash3. El resultado final que quiero en la solicitud de pull sería:

file1.txt
Hola Mundo
Jefe Bajo
file3.txt
3 de diciembre

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, tendría que hacer un git rebase con los hashes de los commits. Ejecutaría el siguiente comando:

    git rebase -i hash1 hash2 hash3
    

    Esto abrirá una ventana de rebasing interactivo. En esta ventana, tendría que eliminar la línea que corresponde al commit que agregó file2.txt. Después de eso, tendría que guardar y salir de la ventana. Esto actualizará el pull request con la salida deseada.

Comments are closed.