Как я могу сбросить мои коммиты, сохраняя при этом мои предполагаемые неизмененные файлы в git?
У меня довольно много файлов, которые я установил как
git update-index --assume-unchanged <file>
В некоторых случаях моя ветка перепутана и расходится с origin/master. Скажем
and have 4 and 8 different commits each, respectively.
Поэтому я хочу вернуть все свои коммиты и сохранить обновление на origin / master, пока мои предполагаемые неизмененные файлы не будут сброшены. Как я могу это сделать?
1 ответ
Вместо того, чтобы использовать --assume-unchanged
, ты можешь попробовать --skip-worktree
с git update-index
,
Файл с флагом git update-index --skip-worktree
должен сопротивляться git reset
(что приведет к удалению из индекса любых добавленных изменений)
Вы можете увидеть полный анализ различий между --assume-unchanged
а также --skip-worktree
здесь
Это выглядит как
--skip-worktree
очень старается сохранить ваши локальные данные. Но это не мешает вам вносить изменения, если это безопасно. Плюс git не сбрасывает флагpull
,
Но игнорируяreset --hard
Команда может стать неприятным сюрпризом для разработчика.