С помощью git временно исключите измененный отслеживаемый файл из коммита в командной строке - PullRequest
13 голосов
/ 28 июля 2010

У меня есть отслеживаемый файл базы данных (уже добавленный) в git.Я хочу, чтобы этот файл всегда содержал одни и те же данные в моем git-хранилище.Даже когда я изменяю его в рабочей копии (локальной песочнице) для целей тестирования.

С помощью git, как исключить этот измененный файл в моей рабочей копии из коммита?

Ответы [ 6 ]

20 голосов
/ 28 июля 2010

Способ игнорировать определенные файлы, которые уже зафиксированы:

git update-index --assume-unchanged file

Однако это локальный параметр, и он не распространяется при клонировании.

Эффект отменяется с git update-index --no-assume-unchanged gui.

4 голосов
/ 28 июля 2010

В дополнение к использованию git add я бы предложил использовать оболочку с большим количеством возможностей, т.е. Здесь вы можете вставить расширенную глобализацию, например *~*.o(.), что означает все файлы, кроме таких, заканчивающихся o Это облегчает добавление всех файлов, кроме одного. Zsh также позволяет вам установить глобальный псевдоним: alias -g AF="*~*.o(.)". Таким образом, вы можете ввести git add AF, и он будет расширен правильным образом.

2 голосов
/ 28 июля 2010

Если вы не выполните git commit -a, git commit будет фиксировать только те файлы, которые вы явно добавили в индекс, используя git add.

0 голосов
/ 28 июля 2010

Самый разумный способ сделать это - вообще не отслеживать базу данных. Отследите пример базы данных, и тогда каждый разработчик сможет скопировать и изменить ее, и это может быть в gitignore.

0 голосов
/ 28 июля 2010

просто не добавляйте его с git add, но добавьте любой другой файл, который вы хотите зафиксировать

, затем используйте git commit вместо git commit -a

0 голосов
/ 28 июля 2010
  1. добавить этот файл в репозиторий
  2. совершить
  3. добавить его в .gitignore файл
  4. коммит .gitignore файл
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...