2016-01-08 2 views
1

У меня есть команда git repo, у которой есть подмодуль. Мне пришлось войти в подмодуль и внести изменения. Я нажимаю свое репо на удаленный сервер. Изменения, внесенные мной в подмодуль, не отображаются на сервере. Изменяется только не подмодуль.Нажимаем подмодуль git на сервер

Мой коллега также внес изменения в подмодуль. Выдвинул изменения и не появился. Есть ли какой-то конкретный способ подтолкнуть изменения к подмодулю? Подмодуль - это собственное репо и находится на сервере.

ответ

1

Когда вы вносите изменения в папку подмодуля, вам необходимо зафиксировать и нажать прямо в эту папку. Когда фиксация подмодуля будет нажата, вам нужно будет перейти в родительскую папку, а затем сделать дополнительную фиксацию с измененной ссылкой на подмодуль, а затем нажать эту фиксацию.

Вот пример:

# current folder is parent project 

cd submodule-git 
# making changes in submodule 
touch new-file 
git add new-file 
git commit -m "new file was added" 
git push origin master 

cd .. 
# changing reference to new commit in the parent project 
git add submodule-git 
git commit -m "updated submodule" 
git push origin master 

Иногда вы не можете использовать удаленный URL по умолчанию подмодуля нажать изменения. Например, если вы использовали URL только для чтения, вы можете добавить дополнительный пульт только в подмодуль и использовать его вместо источника. Вот пример:

# current folder is parent project 

cd submodule-git 
# adding new remote with name 'write-origin' and ssh://[email protected]/project.git 
git remote add write-origin ssh://[email protected]/project.git 
# making changes in submodule and creating new commit 
git push write-origin master 
Смежные вопросы