Как клонировать git-репозиторий до определенного времени во всех ветках? - PullRequest
0 голосов
/ 26 мая 2018

Я работаю над git-проектом с большим количеством веток (~ 100 веток).Я знаю, что можно оформить заказ на конкретную дату, но она работает только на одной ветви, мне нужно клонировать весь проект до определенного времени (конкретная фиксация).Можно ли сделать прямолинейно, без ручного (скриптового) перебазирования всех веток?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

В комментариях вы объяснили, что вы на самом деле пытаетесь сделать:

Цель проста: Git-проект - это хранилище для задач учащихся.Каждый студент работает в своем филиале (это около 100 человек);Очевидно, задачи имеют сроки.Самый простой трюк - оформить проект, когда наступит крайний срок,

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

Вместо этого я бы сделал следующее:

  • Настройте личный экземпляр GitLab и предоставьте каждому учащемуся учетную запись
  • Создайте группу для курса
  • В этой группе создайте проект для каждого студента (одно задание)
  • Предоставьте студенту мастер привилегиив группе, срок действия которого истекает в крайний срок

Таким образом, ученик сможет продвигаться в хранилище только до крайнего срока.

Существуют и другие варианты, которые могуттакже работает.

0 голосов
/ 26 мая 2018

Вы должны иметь возможность использовать - shallow-Since = с git clone.В документации не совсем ясно, применимо ли это ко всем ответвлениям, но я предполагаю, что, например, для соответствующего --depth в нем говорится, что подразумевается --single-branch, но такого примечания для --shallow-since.

нет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...