--skip-worktree не позволит мне сменить ветку - PullRequest
0 голосов
/ 07 октября 2019

У меня есть локальный файл, мне нужно было изменить некоторые значения, которые я использовал:

git update-index --skip-worktree myfile.ts

Это сработало, но теперь, когда я пытаюсь изменить ветку, я получаю сообщение об ошибке:

error: Your local changes to the following files would be overwritten by checkout:
        myfile.ts
Please commit your changes or stash them before you switch branches.

Но я не могу спрятать его, поскольку он игнорируется?

Является ли единственным решением установить --no-skip-worktree, затем спрятать его и изменить ветку? Это довольно неудобный рабочий процесс.

Я что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Если вы хотите, чтобы git не заботился о том, что вы меняете файл, я думаю, вам нужно использовать git update-index --assume-unchanged

0 голосов
/ 07 октября 2019

Опция --skip-worktree предназначена для редких проверок;он не предназначен для того, чтобы вы могли изменять файлы, не зная об этом Git. Нет способа изменить файлы, которые отслеживаются, без ведома Git об этом.

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

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

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