Hudson - Git - клонировать только нужную ветку

Можно ли клонировать только одну ветку git в hudson? Версия Hudson 2.2.0 с git-плагином версии 2.2.0 клонирует весь указанный проект, занимая много места (который, как ожидается, будет расти вечно)

Заранее спасибо.

4 ответа

Решение

Конфигурирование refspec в плагине hudson-git для следующего значения, похоже, работает:

+refs/heads/master:refs/remotes/origin/master

Не напрямую, но если вы можете адаптировать сам плагин Hudson Git, вы можете клонировать только ветку с помощью правильной команды git:
Смотрите " Как клонировать одну ветку в git?"

Это возможно начиная с git1.7.10:

git clone <url> --branch <branch> --single-branch <folder>

Обратите внимание, что плагин git 2.0 позволит указать правильную ветвь для клонирования:

мерзавец 2.0

Git "ветвь" - это просто 40-байтовая закладка, указывающая на позицию в истории проекта - если только ваши ветви не сильно расходятся, вы не сэкономите много места, так как в любом случае вы будете загружать полную историю.

Если целью является экономия места, возможно, используйте опцию "мелкий клон"? Это загрузит только один слой истории, а не все.

Вы путаете clone с checkout, Clone клонирует репозиторий, и вот как работает git, checkout переключит вас на данную ветку. Git распространяется таким образом, весь репозиторий копируется с клоном на ваш локальный компьютер. Таким образом, вы можете получить доступ к любой ветке, коммиту, метке, когда-либо нажатой.

Другие вопросы по тегам