Я очень смущен о git-подмодулях.
В основном моя проблема заключается в том, что я не могу заставить git понять, что ~/main-project/submodule является подмодулем.
У меня есть хороший опыт работы с подмодулями git:
в моем репозитории dotfiles я создал файл.gitmodules в ~/dotfiles-repo и я добавил туда пути и URL-адреса. С тех пор, если я вношу изменения в файлы в подмодулях и запускаю git status, я бы получил что-то вроде: .vim/bundle/auto-complete (new commits) # in red
Я создал файл .gitmodules в ~/main-project но:
- Если я вношу изменения в
~/main-project/submoduleи даже вставляю изменения, я не получаю аналогичный ответ, например,<submodule> (new commits) # in redпри запускеgit statusв~/main-project. Я просто получаю изменения, которые были сделаны в этих каталогах -
Когда я нажимаю ссылки на папки в
githubдля этих каталогов, он не направляет меня непосредственно в репозитории, но я остаюсь в том же репозитории.- Может быть, мне не хватает всего. Каковы основные черты подмодулей?
- Почему git понимает подмодули в реплике dotfiles, но не в моем другом репо?
- Это потому, что я уже сказал git, чтобы добавить файлы в
~/main-project/submoduleк индексу?
Я прочитал этот вопрос, который привел меня к этому ответу Но я не уверен, что мне нужно git-subtree. Я не хочу делать вещи, которые могут сильно изменить, чтобы их можно было вернуть.
Изменение: это предлагаемое дублирующее решение тоже не сработало, я получил сообщение об ошибке, по которой
Updates were rejected because the remote contains work that you do not have locally. Кажется, что @GabLeRoux практически сказал мне нажать<repo-A>на URL-адрес<repo-B>.