Со всеми общедоступными репозиториями с открытым исходным кодом и облачными сервисами возникает проблема игнорирования конфиденциальных данных. Например, мы можем разместить настройки среды тестирования в Azure и сохранить пароль/ключи этого хостинга в файле конфигурации. Через какое-то время мы можем внезапно получить огромный счет, потому что кто-то использовал ваши учетные данные для установки слишком большого количества майнеров биткойнов в вашем облаке. Конечно, есть и другие причины скрывать эту информацию.

В этом примере мы будем использовать git в качестве системы управления исходным кодом и SourceTree, чтобы упростить процесс для обычных подпрограмм.
основная идея состоит в том, чтобы:
1. Зафиксировать файл с фиктивными параметрами конфигурации (например, в веб-проекте .NET Web.config со строками подключения к базе данных)
2. Игнорировать последующие изменения в этом файле.

мм.. Вот так просто.
Для этого мы можем запустить следующую команду в консоли git:
git update-index --assume-unchanged FILEPATH
Команда обновляет индекс репозитория, добавляя игнорирование файлов без физического файла удаление.
Если вам нужно добавить какие-то изменения в файл после игнорирования его в индексе — вы можете запустить почти ту же команду:
git update-index --no-assume-unchanged FILEPATH
Удаление файла из индексации может добавить некоторые проблемы при слиянии, но с ними можно справиться. И я думаю, что это лучше, чем публикация учетных данных базы данных…

И последнее:
если вы хотите проверить, какие файлы были игнорированы из индекса, выполните (помечены как предполагать без изменений):

git ls-файлы -v

Если вы один из тех парней, которые используют только приложения с графическим интерфейсом для выполнения задач, вот что вам, вероятно, понравится:
на данный момент я думаю, что лучший инструмент для работы с git или mercurial — это SourceTree, и у него есть одна приятная функция для автоматизации задач: Пользовательские действия.
Для приведенных выше команд вы можете сделать следующее:

Затем щелкните правой кнопкой мыши файл, который вы хотите временно игнорировать в SourceTree, и выберите пользовательское действие.

Ресурсы

Как я умудрился за 1 день задолжать Amazon 12000$

Документация Git, обновить раздел index

Классный источник