tipos tener tag remove qué proyecto podemos para oneline nuestros mayor log herramienta hacer hace existen etiquetas crear control git github homebrew pull-request

tener - ¿qué hace git log-oneline?



Solicitud de extracción de Git para un solo archivo (3)

Ponga cada archivo en su propia rama. Puede generar una solicitud de extracción para cada rama, que debería hacer lo que quiera.

Esta pregunta ya tiene una respuesta aquí:

He realizado varios cambios en dos archivos en un repositorio Git (específicamente, agregé dos fórmulas para preparar).

Me comprometí los cambios individualmente:

git commit file1 git commit file2

Entonces hice un empujón a GitHub:

git push [email protected]:myname/homebrew.git

Ahora me gustaría enviar dos solicitudes de extracción al repositorio ascendente, una para file1, una para file2. es posible?


Si ha cambiado ambos archivos en la misma confirmación, entonces no, esto no es posible. Los empujes y los tirones funcionan a nivel de compromiso; No los separarán.

Si aún no ha compartido los cambios, puede dividir el compromiso en dos, hacer una rama para cada uno, y luego iniciar las solicitudes de extracción para ellos.

Esta es una de esas cosas que hay muchas formas de hacer, pero por ejemplo, podría hacer algo como esto:

# make sure the commit in question is the most recent # make branch to point to the previous commit, leaving the changes in your work tree git reset HEAD^ # commit the changes to the first file git add file1 git commit # make a branch for the first commit git branch first-branch HEAD^ # commit the changes to the second file git add file2 git commit # create and check out a branch for this commit git checkout -b second-branch # rebase the branch back, so that it doesn''t include the first commit git rebase --onto HEAD^^ HEAD^ second-branch # point your master branch somewhere that makes sense - maybe before either branch git checkout master git reset --hard first-branch^

Esto te dejaría con una historia como esta:

- x (master) - A (first-branch) / - B (second-branch)

donde commit Un archivo modificado1, y commit B modificado un archivo2.

Una vez que la historia se ve como te gusta, puedes empujar las dos ramas por separado y hacer lo que necesites hacer con ellas:

git push origin first-branch second-branch


Solo puede obtener la revisión completa (en realidad, toda la rama que conduce a la revisión), pero luego puede acceder a archivos individuales desde su repositorio:

git checkout <rev> -- <file>