2013-10-11 8 views
0

Если я создаю измененный файл, затем измените его еще раз и переконфигурируйте его, а затем совершите, я совершу два изменения или просто изменение сети? Я предполагаю, что ответ - два, но я не могу найти это в книге Git.Размещать файл более одного раза перед фиксацией

Это связано с тем, что вы не хотите совершать незашифрованные пароли в моем файле web.config. Я создаю крюк pre-commit, который проверяет, зашифрован ли соответствующий раздел, а если нет, прервите фиксацию. Но я понял, что если я просто зашифрую файл и сделаю (без его повторного запуска), я все равно буду совершать незашифрованный файл. Но что, если я снова смогу его повторить, а затем совершить? Буду ли я делать незашифрованные данные?

ответ

1

У вас есть только один этап буферов. В поэтапной области нет понятия иерархии или времени изменений.

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

Короче говоря, только изменения, которые вы видите в git diff, совершаются.

1

Просто чистая замена; первая из них заменяется второй версией. В конце концов, вы будете мусором собирать теперь неуместную поэтапную копию.

1

Предполагая, что вы не перемещали и не переименовали файл перед его повторным запуском, вы совершаете только «чистую замену». Вы можете точно увидеть, что находится в промежуточной области в любой момент времени, запустив git diff --cached.

0

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

Смежные вопросы