[newbies] git pull into subdirectory
Alexander Lubyagin
lubyagin на yandex.ru
Вт Ноя 11 21:36:19 MSK 2025
Добрый день.
Возник такой вопрос.
Во многих репозиториях Альта принят принцип - хранить исходники в
подкаталоге %name/%name/
Как оформить первый коммит, чтобы из удалённого репозитория свежие
коммиты подтягивались сразу в подкаталог по git fetch?
Вручную, у меня получилось так, для пакета mdless (markdown viewer in Ruby):
cd mdless
git init -b master .
git remote add upstream https://github.com/ttscoff/mdless
git remote -v
git fetch upstream
git merge -s ours --no-commit upstream/develop
git read-tree --prefix=mdless -u upstream/develop
git commit -m "Subtree merged in mdless/"
git remote add local /opt/gk/man/mdless
git remote -v
git push --set-upstream local master
ls -l mdless/
git ls-files | less
--
Однако, таким способом получается дублирующийся список файлов: в ./ и в
./mdless/
Я искал другие способы. Из найденных:
[1] Использование git subtree
[2] Использование git sparse checkout
[3] Использование git worktree
[4] Использование submodule
[5] Переименование файлов + filter-branch:
https://stackoverflow.com/a/4042965
Какой из вариантов наиболее правильный?
Я пробовал смотреть в имеющихся пакетах, но, бывает, changelog длиннее,
чем git log.
Или, всё же, правильный вариант - с gear-uupdate?
https://www.altlinux.org/Gear/gear-uupdate
--
Подробная информация о списке рассылки devel-newbies