There is a project yyy, inside it is a submodule xxx. I only work with xxx, i.e. only submodule. After performing the task and change, being in the submodule folder. Do I need to go higher, commit and push the whole project, and not just the submodule?

    1 answer 1

    After publishing (push) changes in the subproject (submodule), you need to change the "pointer" in the main project to the version of the subproject.

    Example:

    # посмотрим ΠΊΡƒΠ΄Π° Π²Π΅Π΄Ρ‘Ρ‚ тСкущая ссылка Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git ls-tree -r HEAD | grep 'ΠΌΠΎΠ΄ΡƒΠ»ΡŒ' 160000 commit 02148269395c1bc239c9db78a80dd85fc836a4dd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ # ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ измСнСния Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ pushd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ$ git add myfile.c ΠΏΡ€ΠΎΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ$ git commit -m "..." ΠΏΡ€ΠΎΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ$ git push ΠΏΡ€ΠΎΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ$ # ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ссылка Π² основном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ всё Π΅Ρ‰Ρ‘ прСТняя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ$ popd ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git ls-tree -r HEAD | grep 'ΠΌΠΎΠ΄ΡƒΠ»ΡŒ' 160000 commit 02148269395c1bc239c9db78a80dd85fc836a4dd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ # ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ссылку ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git add ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git commit -m "новая, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ вСрсия модуля" ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git push ΠΏΡ€ΠΎΠ΅ΠΊΡ‚$ git ls-tree -r HEAD | grep 'ΠΌΠΎΠ΄ΡƒΠ»ΡŒ' 160000 commit 5c2591854c69c6512232be4b2adffa70ef9ed944 ΠΌΠΎΠ΄ΡƒΠ»ΡŒ