Git Как отменить изменения в подмодуле - PullRequest
0 голосов
/ 05 января 2019

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

Я пытался git checkout -- ../dep/libY, но ничего не меняется.

Состояние Git говорит:

modified:   ../dep/libY (modified content)

Ответы [ 3 ]

0 голосов
/ 05 января 2019

В вашем извлеченном каталоге выполните эту команду, которая сбросит файлы, измененные в этом подкаталоге, на ревизию HEAD (короче говоря, она отменит ваши незафиксированные изменения в этом подмодуле / подкаталоге)

git checkout HEAD -- path/to/submodule

В вашем случае команда будет:

git checkout HEAD -- ../dep/libY 
0 голосов
/ 05 января 2019

Если вы хотите отменить изменения, подмодуль git checkout

git checkout dep/libY

ИЛИ

Перейдите в папку (для которой вы хотите отменить все изменения) и выполните

git checkout ./ 
0 голосов
/ 05 января 2019

Подмодуль - это репозиторий Git. Поэтому вы можете cd войти в подмодуль и использовать git reset --hard, чтобы отбросить работу, выполненную в рабочем дереве, и индекс этого другого репозитория Git. (Обязательно сначала запустите git status в этом рабочем дереве и другие команды Git, если / как хотите, чтобы убедиться, что любые файлы, которые вы удаляете, действительно нежелательны.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...