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