Помимо Paul Hicks' answer, стоит добавить, что если ваш клиентский git очень старый (то есть, предшествовав 1.8.5, хотя исправление также было перенесено на 1.8.4.3), оно может не выбрать правильное ветка в любом случае.
Проблема возникает, когда ссылка сервера HEAD
разрешает идентификатор фиксации, который также является концом более чем одной веткой. Процесс clone
, на этих старых версиях git, не может понять направление HEAD -> ...
и вместо этого получает необработанный идентификатор фиксации, который разрешает HEAD
. Он также получает идентификаторы фиксации для каждой ветви, а затем выбирает какую-либо ветвь, которая по сути является случайной, - которая имеет этот идентификатор фиксации.
Новые клиенты обсуждают передачу символьного стиля и каждый раз получают правильную ветку. Тем не менее, если вы застряли в старом, одно решение заключается в том, чтобы убедиться, что идентификатор, разрешаемый HEAD
, связан только с одной ветвью. То есть для каждой другой ветви, которая соответствует, сделайте фиктивную фиксацию так, чтобы кончик этой ветки больше не был тем же ID.
(Это также не удается, если сервер слишком старый, поскольку эти старые серверы не принимают символическую возможность передачи на этапе переговоров, но, конечно же, GitLab не застрял в последнее десятилетие, как некоторые дистрибутивы Linux, которые мы выиграли 't CentOname, ах.)
Uhm - как я уже сказал: ветка по умолчанию Gitlab уже установлена в мастер – rralf
Да - я знаю, она настроена на освоение! Я просто установил его на что-то еще и снова сбросил его. Я сейчас клонирую его, чтобы увидеть, работает ли он сейчас. – rralf
Хорошо, изменив ветку по умолчанию gitlab и сбросив ее обратно, чтобы решить проблему. Может быть, вы могли бы добавить этот намек на свой ответ, тогда я приму это. Кажется, какая-то странная ошибка глубоко внутри gitlab ... – rralf