¿Cómo hago referencia a una sucursal existente de un problema en GitHub?

133

Digamos que tengo una rama llamada feature/1. Y también el número 1. Quiero vincular esa rama a ese problema.

¿Hay alguna manera de vincular esa rama a ese problema desde el problema? Sin hacer un compromiso.

Nerian
fuente

Respuestas:

93

Directamente desde GitHub :

Referencias

Ciertas referencias están vinculadas automáticamente:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Usuario @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Usuario / Proyecto @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • # Número: # 1
  • Usuario / # Num: mojombo # 1
  • Usuario / Proyecto # Num: mojombo / god # 1

Parece que directamente (como en user / repo / branch) no es posible, pero ¿tal vez utilizando el id del árbol?

fuzzyalej
fuente
73
Me puse en contacto con el soporte de Github y me dijeron que no es posible en este momento.
Nerian
55
Realmente desearía que esto fuera posible. Una solución a esto sería utilizar solicitudes de extracción (en lugar de enviar directamente) y hacer referencia al problema desde dentro de la solicitud de extracción.
Olivier Lalonde
2
Hmm, tiene sentido ya que los nombres de las ramas no son estáticos, pero las confirmaciones sí.
jonasfj
3
@jonasfj Sin embargo, la URL de Github para una rama es estática, siempre /user/repo/tree/branch-name(o /user/repo/commits/branch-namedependiendo de lo que quiera ver)
GMA
Es posible, como se muestra en mi respuesta a esta pregunta.
LS
89

Como se menciona en otra respuesta , GitHub crea automáticamente enlaces a varias cosas, incluidos otros repositorios de GH, pero no a sucursales dentro de esos repositorios. Cuando quiero hacer esto, hago manualmente el enlace como este:

[a link to a branch](/_user_/_project_/tree/_branch_)

Donde _user_, _project_y _branch_debe reemplazarse con las partes de la URL de la sucursal. Por ejemplo, una rama en el proyecto "lingüista" de GitHub:

[api-changes branch in github/linguist](/github/linguist/tree/api-changes)

Importante:

  • El procesador Markdown de GitHub crea enlaces utilizando el valor exacto de URL incluido entre paréntesis. Debe especificar la URL considerando cómo un navegador manejaría ese enlace. Si la URL especificada es solo la parte de la ruta (como en este ejemplo), los navegadores tratarán la ruta como relativa a la URL de la página actual. Si esa ruta relativa comienza con una barra diagonal (" /", también como en este ejemplo), será relativa a la raíz del servidor de la URL de la página actual. De lo contrario, las rutas que no comiencen con una barra oblicua se tratarán como relativas al padre de la URL de la página actual. (Esta es la especificación básica del enlace HTML).
  • No olvide incluir la treeparte de la URL cuando haga referencia a ramas específicas de proyectos.
LS
fuente
8
Actualmente obtengo mi enlace convertido /user/proj/blob/branchincluso si escribí treey no blob. Editar: trabajando:../../tree/branch
bóveda
@vault ¿Puede publicar un enlace aquí al documento Markdown que contenga un ejemplo de esto?
LS
@LS si no recuerdo mal, necesitaba esta información para escribir este archivo README .
bóveda
2
@vault ya veo! Aparentemente, existen diferentes reglas para los enlaces de los archivos de repositorio de MD frente al texto de emisión de MD. El orig. Q y mi A tratan sobre enlaces en el texto del problema, pero actualizaré mi respuesta para incluir archivos de repositorio de MD. Me bifurcada tu repositorio y agregó un enlace a README.md. GH parece eliminar "/" del enlace y agregarlo a la URL actual. Eso puede ser un error. Lo comprobaré. De todos modos, las URL relativas con ".." tienen más sentido en los archivos repos. Por ejemplo, si fusionaste mi bifurcación, mi nuevo enlace README.mdse referiría a mi bifurcación.
LS
13

Tenga en cuenta que desde abril de 2013 (" Etiquetas de sucursal y etiqueta para las páginas de confirmación "):

  • Cualquier confirmación puede mencionar la rama de la que forma parte:

rama parte de commit

Si el commit no está en la rama predeterminada, el indicador mostrará las ramas que contienen el commit. Si el commit es parte de una solicitud de extracción no fusionada, se mostrará un enlace .

Enlace a solicitud de extracción

Eso significa que hacer referencia a un compromiso desde el problema permitirá al usuario ver la rama (mirando el compromiso) e incluso ver un enlace de regreso al problema (aún mirando el compromiso).

VonC
fuente
6

No puede hacer referencia a la rama directamente.

Pero puede hacer una referencia a una rama en comparación con otra rama. Si ingresas esto:

https://github.com/user1/repo/compare/branch1...branch2

se renderizará como

branch1...branch2

Además, puede comparar ramas entre horquillas. Si user2se bifurca repo, esto funciona:

https://github.com/user1/repo/compare/branch1...user2:branch2
Lars Brinkhoff
fuente
0

Estaba buscando la misma posibilidad en Git, pero no había nada disponible, así que decidí referir directamente el brach con un enlace de descuento utilizando la referencia Hash.

# Issue02

## Commit Hash _<hash_number>_

...Rest of comments in the issue...

Entonces, ahora en mi organización siempre hacemos esa referencia al abrir o cerrar un problema. Debe referirse a un determinado hash e indirectamente a la rama correspondiente.

Supongo que ya lo tienes, pero si no, para obtener el hash usarás git log

Nota: No hace referencia a una rama certificada sino a una confirmación,

Con algunas horas de trabajo, creo que es posible hacer esto automáticamente y crear una herramienta de línea de comando,

negrotico19
fuente