Подтвердить что ты не робот

Добавление поддерева git из ветки

Я пытаюсь добавить репо (называемое корова) в свой проект, используя git subtree add. В частности, я хотел бы добавить ветвь stable (которая не является ветвью master). Я пробовал:

git subtree add -P cow https://github.com/geoffryan/cow.git stable

Но это вернуло ошибку

'stable' does not refer to a commit.

Я также пробовал:

git subtree add -P cow https://github.com/geoffryan/cow.git cow/stable
'cow/stable' does not refer to a commit.

и

git subtree add -P cow https://github.com/geoffryan/cow.git ca26d248a12c21264e32a2c212381cafb578c9fb
'ca26d248a12c21264e32a2c212381cafb578c9fb' does not refer to a commit.

Хеш был для последней фиксации в ветки stable. Примеры использования, которые я видел в Интернете, используют master для фиксации, можно ли использовать subtree add на ветке с немастером?

4b9b3361

Ответ 1

Это похоже на работу

$ git remote add cow https://github.com/geoffryan/cow.git
$ git fetch cow
$ git subtree add -P cow cow/stable
Added dir 'cow'

Я не понимаю, как напрямую использовать команду с частью репозитория.

Ответ 2

Я сталкиваюсь с аналогичной проблемой. Однако решение gipi не работает для меня. Как ни странно, когда я добавляю мастер-ветку, все в порядке, но когда я хочу добавить другие ветки, он возвращает

fatal: Couldn't find remote ref xxx/yyy
Unexpected end of command stream

Итак, я попробовал другой способ:

mkdir tmp
cd tmp
git init
git clone url_for_xxx.git yyy

И subtree add из этой ветки temp rep master:

git subtree add -P yyy /path/to/tmp/ master