Насколько я понимаю, я думаю, что ваша проблема в том, что вы неправильно сработали подмодули. Здесь есть два сценария:
1) Вы хотите использовать репозиторий OpenVBX в качестве модуля в своем репо, но у вас нет намерения изменять код в самом репозитории OpenVBX, то есть вы будете использовать библиотеку «как есть» без изменения Это. В этом случае все, что вам нужно сделать, это:
git submodule add git://github.com/twilio/OpenVBX.git plugins/OpenVBX
где plugins / OpenVBX - это путь, куда вы хотите добавить его в свой собственный репозиторий. Например, я выполнил эти шаги на моей установке, и вот как это выглядит:
<pre>
~/Personal$ mkdir test
~/Personal$ cd test/
~/Personal/test$ echo "Test repo for playing around with submodules" > README
~/Personal/test$ mkdir plugins
~/Personal/test$ echo "I'll keep my plugins here" > plugins/README
~/Personal/test$ git init
Initialized empty Git repository in /home/vedang/Personal/test/.git/
~/Personal/test$ git add .
~/Personal/test$ git commit -m "Initial commit"
[master (root-commit) 4539047] Initial commit
2 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 plugins/README
~/Personal/test$ git submodule add git://github.com/twilio/OpenVBX.git plugins/OpenVBX
Initialized empty Git repository in /home/vedang/Personal/test/plugins/OpenVBX/.git/
remote: Counting objects: 2055, done.
remote: Compressing objects: 100% (1315/1315), done.
remote: Total 2055 (delta 1132), reused 1430 (delta 695)
Receiving objects: 100% (2055/2055), 4.96 MiB | 25 KiB/s, done.
Resolving deltas: 100% (1132/1132), done.
~/Personal/test$ git add .gitmodules
~/Personal/test$ git add plugins/OpenVBX
~/Personal/test$ git commit -m "Added openvbx as a submodule"
[master 5318022] Added openvbx as a submodule
2 files changed, 4 insertions(+), 0 deletions(-)
create mode 100644 .gitmodules
create mode 160000 plugins/OpenVBX
~/Personal/test$ git log -p
commit 5318022936429a34cabddfeedc3574f7744127c3
Author: Vedang Manerikar
Date: Sun Jun 5 16:04:11 2011 +0530</p>
<pre><code>Added openvbx as a submodule
diff --git a / .gitmodules b / .gitmodules
новый режим файла 100644
индекс 0000000..bbde679
--- / dev / null
+++ b / .gitmodules
@@ -0,0 +1,3 @@
+ [подмодуль "plugins / OpenVBX"]
+ путь = плагины / OpenVBX
+ url = git: //github.com/twilio/OpenVBX.git
diff --git a / плагины / OpenVBX b / плагины / OpenVBX
новый файловый режим 160000
индекс 0000000..ade10d8
--- / dev / null
+++ b / плагины / OpenVBX
@@ -0,0 +1 @@
+ Подпроект коммит ade10d86fd9556e840f337c255037c163facd2a3
Как видите, для git подмодуль - это просто идентификатор фиксации, указывающий на некоторый SHA в каком-либо другом репозитории. Он не заботится о структуре вашего каталога подмодулей.
2) Если вы также хотите изменить код в подмодуле, единственным существенным отличием является то, что у вас должны быть права на запись в репозиторий, который вы добавляете в качестве подмодуля. На github это так же просто, как разветвление родительского репозитория и использование вашего разветвленного репо в качестве подмодуля. В этом случае и git будет рассматривать ваш подмодуль как просто SHA в основном репозитории. Однако, если вы сделаете состояние git внутри каталога подмодуля (в нашем случае plugins / OpenVBX), вы сможете зафиксировать свои изменения и отправить их в хранилище подмодулей.
Использование субмодулей имеет некоторые преимущества по сравнению с простым копированием исходного кода в ваш репозиторий. Основным преимуществом является то, что вы можете быть в курсе оригинальной библиотеки и получать выгоду от дополнительного кода и исправлений ошибок. Я рекомендую вам попробовать использовать подмодули еще раз, прежде чем отказаться от них.