bitbucket - switch - source tree tag
Checkout solicitudes de extracción de bitbucket localmente (4)
Encontré esta respuesta y pensé que en realidad era posible obtener referencias para una solicitud de extracción en bitbucket.
Pero no lo es.
La respuesta a la pregunta del OP es que NO es posible : ha habido un problema de solicitud de función abierta al respecto que ha estado sin respuesta y desatendido durante cuatro cinco SEIS años.
¿La solución?
Puede obtener el PR como un archivo .patch
descargable que puede descargar y aplicar a una nueva sucursal que cree manualmente. Pero no podrás aplicar actualizaciones fácilmente.
Pensé en otra salida, que he implementado en git-repo , para que todos puedan usarla. Lo que estoy haciendo es usar la API para obtener el control remoto y la sucursal de las relaciones públicas, y crear automáticamente una nueva cadena ascendente y una rama local. De esa manera puedes obtener actualizaciones del póster de relaciones públicas. El inconveniente es el desorden de los controles remotos git.
Encontré esta idea: https://gist.github.com/kennethreitz/3709868
Estoy usando bitbucket y estoy buscando una función similar.
¿Me puedes ayudar? Gracias
Parece que la forma más fácil de hacer esto es obtener un parche de la solicitud de extracción. Sobre la base de la respuesta de esta pregunta , el comentario de Alexandre sigue siendo la única forma de hacerlo. Utiliza esta llamada API de BitBucket .
Utilicé el siguiente script de bash:
USER=username
PASSWORD=password
REPO=repo-name
PULL_NO=42
OUTPUT_FILE=output.patch
# Add -i to include the HTTP-header in the output for debugging
curl -u $USER:$PASSWORD https://bitbucket.org/api/2.0/repositories/$USER/$REPO/pullrequests/$PULL_NO/patch -L -o $OUTPUT_FILE
pull-patch.sh
un archivo llamado pull-patch.sh
y complete las variables de entorno con los detalles de su cuenta. El script requiere que tenga instalado el curl
(por ejemplo, sudo apt install curl
). Entonces corre:
chmod +x pull-patch.sh
./pull-patch.sh
Y un archivo llamado output.patch
debe crearse desde la solicitud de extracción.
Seguí este artículo Pull request Fetching .
Funcionó, pero descubrí que solo necesitaba agregar una línea al repositorio actual, en lugar de crear un repositorio popular y un repositorio ascendente. Corre esta linea
git config --add remote.origin.fetch ''+refs/pull-requests/*/from:refs/remotes/origin/pr/*''
También puede agregarlo manualmente al archivo .git / config en su proyecto.
A continuación, ejecute git pull
, debería ver una lista:
- [nueva ref] refs / pull-request / 488 / from -> origin / pr / 488
- [nueva ref] refs / pull-request / 666 / from -> origin / pr / 666
Luego puede ejecutar git checkout origin/pr/666
para obtener los cambios de solicitud de extracción.
Uno puede obtener el código de las solicitudes de extracción de Bitbucket Server usando:
git fetch origin refs/pull-requests/$PR_NO/from:$LOCAL_BRANCH