Пытается использовать поддеревье git для совместного использования общих файлов библиотеки в нескольких проектах. Вот проблема, с которой я сталкиваюсь.Git subtree push всегда сбой
1) Добавить поддерево, поэтому подкаталог «lib» моего проекта поступает из репозитория lib-dk.
$ git subtree add --prefix=lib --squash [email protected]:dwknight/lib-dk.git master
2) Внесение изменений в файлы "Lib"
3) вносить изменения в основной проекта репо
$ git commit -am "update project"
4) нажать обновления основного проекта репо
$ git push origin master
5) нажать изменения в «lib» обратно на «lib-dk» репо
$ git subtree push --prefix=lib [email protected]:dwknight/lib-dk.git master
git push using: [email protected]:dwknight/lib-dk.git master
To [email protected]:dwknight/lib-dk.git
! [rejected] f455c24a79447c6e3fe1690f5709357b7f96828a -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:dwknight/lib-dk.git'
hint: Updates were rejected because the tip of your current branch is behind its remote counterpart. Merge the remote changes (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
6) Я получаю это отклонение, даже если в реплике lib-dk ничего не изменилось. Когда я пытаюсь вытащить, он действует как что-то, но я могу обновить его. Тем не менее настойчивость продолжает отвергаться.
У меня нет опыта использования команды 'поддерево', но операция' '' '' '' '' '' '' 'выглядит как опция' rebase'. Что оно делает? Если он каким-то образом изменяет историю ветвей, это может вызвать эту проблему. – asm