С помощью git временное исключение измененного отслеживаемого файла из фиксации в командной строке
У меня есть отслеживаемый файл базы данных (уже добавлен) в git. Я хочу, чтобы этот файл всегда содержал те же данные в моем репозитории git. Даже когда я изменяю его в рабочей копии (локальная песочница) для тестирования.
С git, как исключить этот измененный файл из моей рабочей копии из фиксации?
Ответы
Ответ 1
Способ игнорировать определенные файлы, которые уже совершены,
git update-index --assume-unchanged file
Однако это локальная настройка, и она не распространяется при клонировании.
Его эффект отменяется с помощью git update-index --no-assume-unchanged gui
.
Ответ 2
В дополнение к использованию git add
я бы предложил использовать оболочку с большим количеством возможностей, т.е. zsh. Здесь вы можете вставить расширенное подтягивание, например *~*.o(.)
, что означает все файлы, за исключением того, что они заканчиваются на o
. Это упростит добавление всех файлов, кроме одного. Zsh также позволяет установить глобальный псевдоним: alias -g AF="*~*.o(.)"
. Таким образом, вы можете ввести git add AF
, и он будет расширен правильно.
Ответ 3
Если вы не выполняете git commit -a
, git commit
будет только фиксировать файлы, которые вы явно добавили в индекс, используя git add
.
Ответ 4
просто не добавляйте его с помощью git add
, но добавляйте любой другой файл, который вы хотите совершить
затем используйте git commit
вместо git commit -a
Ответ 5
Более разумный способ сделать это - напрямую не отслеживать базу данных. Отслеживайте примерную базу данных, а затем каждый разработчик может ее скопировать и изменить, и она может быть под gitignore.
Ответ 6
- добавить этот файл в свое репо
- совершить
- добавить его в
.gitignore
файл
- commit
.gitignore
file