2013-10-01 5 views
1

У меня есть проект, как это:Игнорирование GIT подмодуль Локально

main_module 
-folder 
--submodule_pub1 
--submodule_pub2 
--submodule_sec 

Не каждый достигает submodule_sec. Есть ли способ для этих людей проверить main_module и все общедоступные подмодули, но удалить submodule_sec, но только локально? Как-то отметить его локально без изменений?

Я нашел этот ответ: https://stackoverflow.com/a/1260982/337621 Моя проблема, что я не хочу совершать фиксацию, и я не хочу, чтобы удаленный субмодуль был изменен как невосстановленный. Есть ли способ сделать это? Какие команды мне нужны для примера выше?

ответ

2

Вы можете попробовать, with recent git 1.8.3+, а:

git submodule deinit -- folder/submodule_sec 

Из git submodule man page:

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

Поскольку он не регистрирует подмодуль, удаляя его из .git/config file, это означает, что это локальная модификация local config: она не влияет на сам подмодуль, на который по-прежнему ссылается родительское репо, как в рабочем дереве, так и в файлах .gitmodules.
Но команда git submodule update не инициализирует и не проверяет подмодуль, который вы только deinit.

+0

Как его установить на Ubuntu? Последний из них - 1,8.1 в менеджере пакетов. Есть ли простой способ установить последнюю версию? –

+1

@ GáborLipták ответ на установку последнего git на Ubuntu был на Stack Overflow 45 минут назад;) http://stackoverflow.com/a/19109661/6309 – VonC

+0

Спасибо. Работы вроде бы должны. –

Смежные вопросы