Подтвердить что ты не робот

Внесите изменения в подмодуль git и сохраните изменения

Я клонировал подмодуль git одной из моих библиотек в проект, над которым я работаю. Дело в том, что после клонирования мне нужно изменить некоторые строки в клонированном подмодуле , но я не хочу вносить эти изменения в исходный репозиторий.

Я хочу, чтобы эти изменения оставались в суперпроекте. Это возможно? Как я могу это достичь?

EDIT: Как сказал @GoZoner, в основном его:

  • git clone foo;
  • cd foo;
  • git подмодуль init;
  • git обновление подмодуля;
  • cd path/to/submodule;
  • git мастер проверки;
  • Внести изменения в подмодуль
  • git commit -am "Что-то";
  • git push origin (суперпроект);

Затем, когда я клонирую суперпроект на другом компьютере (до шага 4), я хочу, чтобы эти изменения сохранялись в суперпроекте.

4b9b3361

Ответ 1

Я думаю, вам нужно смягчить ограничение 'no commit to subodule'. Существует два варианта:

  • Зафиксируйте изменения подмодуля в ветке подмодуля. Это ваша ветка вашей команды, и именно там ваша команда изменила ваш подмодуль. Когда кто-то клонирует суперпроект и обновляет подмодуль, он получает содержимое ветки вашей команды.
  • Клонирование репозитория подмодулей "рядом с" в вашем суперпроектном репозитории и инициализировать подмодуль, чтобы указать на ваш клон. Затем, когда вы совершаете изменения в подмодуле, они привязаны к вашему клону. Любой, кто клонирует суперпроект, получает субмодульный контент из вашего подмодуля.

В противном случае я не вижу способа достичь желаемого.

Ответ 2

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