¿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
davy.ai
Para lograr esto, tendría que hacer un
git rebase
con los hashes de los commits. Ejecutaría el siguiente comando: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.