Можете ли вы мелко клонировать 2 ветки с помощью git?

Я хотел бы поверхностно клонировать часть репозитория: всего 1 функциональную ветку (включая все коммиты с момента перехода от main) и несколько коммитов на main до этого.

Я попробовал git clone $repo --depth=N --branch=$feature, который правильно проверяет неглубокий клон $feature, и, предполагая, что я выбираю достаточно большую глубину, возвращается к точке ветвления.

Что за заклинание, чтобы тянуть в main?

По сути, я хочу иметь возможность:

git clone --branch=$feature
BASE=$(git merge-base $feature origin/main)
echo git rev-parse $BASE^
echo git rev-parse $BASE^^
echo git rev-parse $BASE^^^

сообщить мне SHA1 нескольких коммитов, которые произошли непосредственно перед ветвлением.


person Steven Canfield    schedule 19.11.2020    source источник
comment
Я думаю, вам нужно будет использовать опцию git clone --depth=N --no-single-branch.   -  person TTT    schedule 19.11.2020
comment
stackoverflow.com/a/46816633/7976758 Найдено в stackoverflow.com/   -  person phd    schedule 19.11.2020