Как мне сослаться на существующую ветку из проблемы в GitHub?


133

Допустим, у меня есть ветка с именем feature/1. А также выпуск №1. Я хочу связать эту ветку с этой проблемой.

Есть ли способ связать эту ветку с этой проблемой? Без фиксации.

Ответы:


93

Напрямую из GitHub :

Ссылки

Некоторые ссылки автоматически связаны:

  • SHA: be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Пользователь @ SHA ref: mojombo @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • Пользователь / Проект @ SHA: mojombo / god @ be6a8cc1c1ecfe9489fb51e4869af15a13fc2cd2
  • #Num: # 1
  • User / # Num: mojombo # 1
  • Пользователь / Проект # Num: mojombo / god # 1

Кажется, что напрямую (как в user / repo / branch) невозможно, но, возможно, с помощью идентификатора дерева?


73
Я связался с поддержкой Github, и они сказали мне, что это невозможно сейчас.
Nerian

5
Очень хотелось бы, чтобы это было возможно. Чтобы обойти это, нужно использовать запросы на вытягивание (вместо прямого нажатия) и ссылаться на проблему из запроса на вытягивание.
Оливье Лалонд

2
Хм, имеет смысл, поскольку имена ветвей не статичны, а коммиты.
jonasfj

3
@jonasfj URL-адрес Github для ветки статичен - он всегда /user/repo/tree/branch-name(или в /user/repo/commits/branch-nameзависимости от того, что вы хотите просмотреть)
GMA

Это возможно, как показано в моем ответе на этот вопрос.
LS

89

Как уже упоминалось в другом ответе , GitHub автоматически создает ссылки на различные объекты, включая другие репозитории GH, но не на ветви внутри этих репозиториев. Когда я хочу сделать это, я вручную делаю ссылку следующим образом:

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

Где _user_, _project_и _branch_должны быть заменены частями URL филиала. Например, ветка в проекте GitHub «Лингвист»:

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

Важный:

  • Процессор Markdown GitHub создает ссылки, используя точное значение URL, заключенное в скобки. Вы должны указать URL с учетом того, как браузер будет обрабатывать эту ссылку. Если указанный URL-адрес является только частью пути (как в этом примере), браузеры будут обрабатывать путь относительно URL-адреса текущей страницы. Если этот относительный путь начинается с косой черты (" /", также как в этом примере), то он будет относительным к корню сервера URL текущей страницы. В противном случае пути, которые не начинаются с косой черты, будут обрабатываться как относящиеся к родителю URL текущей страницы. (Это основная спецификация HTML-ссылки.)
  • Не забывайте указывать treeчасть URL при обращении к конкретным веткам проектов.

8
В настоящее время моя ссылка конвертируется в, /user/proj/blob/branchдаже если я написал, treeа не написал blob. Изменить: работа:../../tree/branch
хранилище

@vault Можете ли вы разместить здесь ссылку на документ Markdown, содержащий пример этого?
LS

@LS, если я правильно помню, мне нужна была эта информация, чтобы написать этот README .
хранилище

2
@vault Понятно! По-видимому, существуют разные правила для ссылок из файлов репозитория MD и из текста выпуска MD. Происхождение Q и мой A о ссылках в тексте выпуска, но я обновлю свой ответ, чтобы включить файлы репо MD. Я раздвоил твой репо и добавил ссылку на README.md. GH, кажется, удаляет ведущую "/" из ссылки и добавляет ее к текущему URL. Это может быть ошибкой. Я проверю. В любом случае, относительные URL-адреса с ".." имеют больше смысла в файлах репо. Например, если бы вы объединили мою вилку, моя новая ссылка README.mdвернулась бы к моей вилке.
LS

13

Обратите внимание, что с апреля 2013 г. (« Метки веток и тегов для страниц фиксации »):

  • Любой коммит может упомянуть ветку, частью которой он является:

ветвь часть коммита

Если фиксация не находится в ветви по умолчанию, индикатор покажет ветви, которые содержат фиксацию. Если фиксация является частью незапущенного запроса на извлечение, будет показана ссылка .

Ссылка на запрос

Это означает, что ссылка на коммит из проблемы позволит пользователю увидеть ветвь (просмотрев коммит) и даже увидеть ссылку на проблему (все еще просматривая коммит).


6

Вы не можете ссылаться на ветку напрямую.

Но вы можете сделать ссылку на ветку по сравнению с другой веткой. Если вы введете это:

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

будет отображаться как

branch1...branch2

Кроме того, вы можете сравнить ветви по вилкам. Если user2разветвился repo, это работает:

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

0

Я искал такую ​​же возможность в Git, но ничего не было доступно, поэтому я решил напрямую указать ветвь со ссылкой на уценку , используя ссылку Hash.

# Issue02

## Commit Hash _<hash_number>_

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

Итак, теперь в моей организации мы всегда используем эту ссылку при открытии или закрытии вопроса. Оно должно было ссылаться на определенный Hash и косвенно она есть ссылка на соответствующую ветвь.

Я думаю, что вы уже сейчас, но если нет, чтобы получить хеш, вы будете использовать git log

Примечание: это не ссылка на определенную ветку, а коммит,

После нескольких часов работы я думаю, что можно автоматически сделать это и создать инструмент командной строки,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.