¿Cómo acceder a la fuente completa de la confirmación anterior en BitBucket?
227
No puedo entender ni encontrar la documentación sobre cómo acceder a la fuente de una confirmación anterior en el nuevo formato Bit Bucket. ¿Es esto posible?
¿Qué nuevo formato? ¿Estás usando Mercurial o Git? Solo use clientes Mercurial o Git para actualizar a una versión anterior.
Erno
Respuestas:
369
Entiendo que desea descargar una versión anterior a través de la interfaz web de BitBucket sin usar un cliente Mercurial / Git.
Verifique esta pregunta relacionada . En los comentarios, alguien dice que no hay forma de hacerlo. Afortunadamente, eso no es del todo cierto.
Al navegar en las páginas del proyecto BitBucket, no encontré ningún enlace para descargar una versión arbitraria. Hay enlaces para descargar etiquetas específicas, en el formato:
¿Puedo usar el enlace de arriba en el terminal de Android Studio para clonar un commit? Si es así, ¿podría proporcionar el código de terminal básico?
tccpg288
1
Desearía que mostraran esto en su sitio web, así que era obvio.
llega
1
¿Por qué no es relevante? Lo probé nuevamente (2018-08-06) y aún funciona. ¿Quizás sea un problema con los servidores BitBucket "internos"? Probé esto en el servidor bitbucket.org .
Rudy Matela
debería ser api.bitbucket.orgahora
Alexander Mills
1
Puedo confirmar que todavía funciona con solobitbucket.org
Vely
202
Estaba tratando de averiguar si es posible navegar por el código de una confirmación anterior como puedes en GitHub y me trajo aquí. Utilicé la información que encontré aquí, y después de jugar con las URL, en realidad también encontré una manera de buscar el código de las confirmaciones antiguas.
Cuando navega por su código, la URL es algo así como:
https://bitbucket.org/user/repo/src/
y agregando un hash de confirmación al final como este:
https://bitbucket.org/user/repo/src/a0328cb
Puede examinar el código en el punto de esa confirmación. No entiendo por qué no hay un cuadro desplegable para elegir una confirmación directamente, la función ya está allí. Extraño.
Esto es exactamente lo que necesitaba. Falta un enlace directo desde el sitio de Bitbucket a esta URL.
Johnny Oshika
Por desgracia, esto no funciona. O más bien trabajar, pero parcialmente. Por ejemplo, se puede navegar https://bitbucket.org/lyro/evil/src/8cbfd51, pero si se introduce hg clone https://bitbucket.org/lyro/evil/src/8cbfd51, se obtendría alguna revisión al azar, tal vez la última.
Hola Ángel, el
Encontró una solución, eshg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
Hola-Ángel
3
Para aquellos a los que no les gusta copiar + pegar: busque un determinado commit, la URL será algo así https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master. Ahora, solo cambie commitsla url a srcy está navegando por la fuente completa en este commit.
@ManojG Aquí hay uno de mí. Por lo tanto, aparentemente hay una manera de llegar al árbol completo en un determinado compromiso, aunque de una manera bastante confusa.
Malcolm
2
Me encanta esta respuesta. Nota: también puede ir al archivo y usar el menú desplegable. ¡GRACIAS!
mattdlockyer
3
Más sorprendente que esta respuesta es el hecho de que no podemos hacerlo con un clic de botón ... algunas cosas son realmente increíbles ...
Nuno Gonçalves
este paso no se resolvió para mí, lo que dio resultados: la respuesta de @mattdlockyer, seleccione un archivo, haga clic en el menú desplegable, seleccione una confirmación anterior y luego regrese al enlace base del repositorio como la última imagen de la publicación de
Oscar
1
Todo esto funciona, pero cuando lo descarga, siempre es el último commit. ¿Lo estoy haciendo mal o es así?
Jay Mehta
29
En caso de que alguien esté en mi bote donde ninguna de estas respuestas funcionó exactamente, esto es lo que hice.
Quizás nuestro servidor interno de Bitbucket esté configurado de manera un poco diferente a la mayoría, pero aquí está la URL a la que normalmente iría solo para ver los archivos en la rama maestra:
Este fue fácilmente el camino más sencillo. Para aquellos que no han podido obtener problemas con las etiquetas, haga clic en una confirmación específica y en la parte superior derecha verá la fuente de la vista, la rama, la confirmación y las etiquetas. Agregue su etiqueta allí, luego vaya a descargarla.
PGMacDesign
8
Para el registro, también puede jugar con las URL de esta manera:
Al navegar por la última fuente, tiene algo como:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
Simplemente cambie el hash de confirmación y elimine el parámetro GET:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Llegué a +1 @Hein A. Grønnestad arriba: todo funciona, realmente me pregunto por qué no hay nada en la GUI para usarlo.
Respuestas:
Entiendo que desea descargar una versión anterior a través de la interfaz web de BitBucket sin usar un cliente Mercurial / Git.
Verifique esta pregunta relacionada . En los comentarios, alguien dice que no hay forma de hacerlo. Afortunadamente, eso no es del todo cierto.
Al navegar en las páginas del proyecto BitBucket, no encontré ningún enlace para descargar una versión arbitraria. Hay enlaces para descargar etiquetas específicas, en el formato:
Pero ajustando un poco la URL anterior, cambiando el nombre de la etiqueta por el hash de confirmación, como:
De hecho, puede descargar una versión específica.
Como lo menciona Rakka Rage en un comentario, también se reemplaza
.tar.gz
por.zip
obras.fuente
api.bitbucket.org
ahorabitbucket.org
Estaba tratando de averiguar si es posible navegar por el código de una confirmación anterior como puedes en GitHub y me trajo aquí. Utilicé la información que encontré aquí, y después de jugar con las URL, en realidad también encontré una manera de buscar el código de las confirmaciones antiguas.
Cuando navega por su código, la URL es algo así como:
y agregando un hash de confirmación al final como este:
Puede examinar el código en el punto de esa confirmación. No entiendo por qué no hay un cuadro desplegable para elegir una confirmación directamente, la función ya está allí. Extraño.
fuente
https://bitbucket.org/lyro/evil/src/8cbfd51
, pero si se introducehg clone https://bitbucket.org/lyro/evil/src/8cbfd51
, se obtendría alguna revisión al azar, tal vez la última.hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
. Ahora, solo cambiecommits
la url asrc
y está navegando por la fuente completa en este commit.Paso 1
Paso 2
Paso 3
Paso 4
Último paso
fuente
En caso de que alguien esté en mi bote donde ninguna de estas respuestas funcionó exactamente, esto es lo que hice.
Quizás nuestro servidor interno de Bitbucket esté configurado de manera un poco diferente a la mayoría, pero aquí está la URL a la que normalmente iría solo para ver los archivos en la rama maestra:
Si selecciono una rama diferente a la maestra del menú desplegable, obtengo esto:
Así que intenté hacer esto y funcionó:
Ahora puedo navegar por todo el repositorio tal como estaba en el momento de esa confirmación.
fuente
Grandes respuestas de hace un par de años. Ahora Bitbucket lo ha hecho más fácil.
Etiquete el Compromiso que desea descargar (como se menciona en la respuesta de Rudy Matela).
Luego dirígete a Descargas y haz clic en la pestaña "Etiquetas" y obtendrás múltiples opciones para descargar.
fuente
Para el registro, también puede jugar con las URL de esta manera:
Al navegar por la última fuente, tiene algo como:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
Simplemente cambie el hash de confirmación y elimine el parámetro GET:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Llegué a +1 @Hein A. Grønnestad arriba: todo funciona, realmente me pregunto por qué no hay nada en la GUI para usarlo.
fuente
La forma más fácil es hacer clic en esa confirmación y agregar una etiqueta a esa confirmación. He incluido la etiqueta 'last_commit' con este commit
Luego vaya a descargas en la esquina izquierda del navegador lateral en bit bucket. Haga clic en descargar en el lado izquierdo
fuente
Puede ver la fuente del archivo hasta una confirmación particular agregando
?until=<sha-of-commit>
en la URL (después del nombre del archivo).fuente
Sé que es demasiado tarde, pero con API 2.0 puedes hacer
desde la línea de comando con:
o en php con:
entonces tiene el historial de su archivo (desde la confirmación más reciente hasta la más antigua):
donde
values
>links
>self
proporciona el archivo en el momento de la historia, que se puede recuperar concurl <link>
ofile_get_contents(<link>)
.Eventualmente, desde la línea de comando puede filtrar con:
en php, solo haz un
foreach
bucle en la matriz$data
.Nota: si
<path_file>
tiene un/
tiene que convertirlo%2F
.Vea el documento aquí: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D
fuente