Что это за светло-фиолетовые метки в gitk в репозитории clone --mirror с Github

в «зеркальном» клоне репозитория с Github я нахожу множество коммитов, помеченных светло-фиолетовыми метками. Этикетки называются «pull/91/merge», «pull/92/head», «pull/89/head» и т. д. Вот изображение.

gitk изображение.

Они не являются метками ветвей или тегов. «git branch --list» возвращает только «мастер». И «git tag --list» ничего не возвращает. Если я щелкну правой кнопкой мыши по одному в gitk, меню не появится. Если бы это был тег или метка ветки, появилось бы правое меню, позволяющее мне удалять, перемещать, копировать и т. д.

Что это такое и как мне с ними работать? -- удалить, переименовать, преобразовать в ветку и т. д.

РЕДАКТИРОВАТЬ: я думаю, что они связаны с запросами на вытягивание, сделанными на Github. Это «зеркальное» репо из Github после выполнения «git clone --mirror». Github, вероятно, поместил их туда, и их нельзя трогать. Но все же, что это такое и как вы манипулируете ими с помощью git?


person John Pankowicz    schedule 06.05.2020    source источник


Ответы (1)


В git есть разные виды ссылок. Ветви и теги — это особые виды ссылок с прикрепленными к ним функциями.

Запросы на вытягивание в вашем случае также являются ссылками, но не имеют конкретного вида. Они являются указателями на коммиты. Вы можете использовать их в различных командах, иначе они ничего не сделают. Удаление их в вашем локальном репозитории не повлияет на удаленный репозиторий.

Чтобы перечислить ссылки:

git show-ref

Чтобы изменить или удалить ссылки:

git update-ref

Что касается того, откуда они берутся, я могу только догадываться, что Github создает их для обработки запросов на вытягивание на стороне сервера.

person stefandtw    schedule 07.05.2020