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

Как сообщить git игнорировать все дальнейшие изменения в один файл, не удаляя его из репо

Я разветкил проект на github и начал возиться с ним на своей собственной машине, я хочу зафиксировать изменения, внесенные мной в свою вилку на github, но не совершая изменений, внесенных в файл .cfg, поскольку это содержит такие вещи, как пароль db и т.д.

4b9b3361

Ответ 1

Используйте это:

git update-index --skip-worktree path/file.cfg

А для восстановления:

git update-index --no-skip-worktree path/file.cfg

Наконец, если вы хотите перечислить файлы, отмеченные skip-worktree:

git ls-files -v | grep ^S | awk '{print $2}'

Чтобы упростить, вы можете сделать псевдоним для своего $HOME/.gitconfig:

[alias]
    ls-ignored-changes = !git ls-files -v | grep ^S | awk '{print $2}'

Затем вы можете ввести только git ls-skip-worktree. Он работает даже с автозаполнением, если у вас есть git-completion (для bash, tcsh, zsh).