При обслуживании живой системы я обнаруживаю, что иногда приходится делать временные временные изменения в файлах - изменение уровней ведения журнала, добавление параметров трассировки в сценарии и т.д.
Когда я это делаю, мои полуавтоматические механизмы для поиска незафиксированных изменений и несвязанных ветвей часто обнаруживают ложные срабатывания:
- Если я оставляю изменения незавершенными или просто поставленными, то моя контрольная панель script помещает репо как грязную.
- Если я передам их как "временные изменения фиксации", они будут помечены как "изменения перед удаленной ветвью"
- Если я передам их на новую ветку без удаленного, они будут помечены как "ветвь без удаленного".
Обычно все они необходимы для поиска изменений, которые не были объединены, но это также означает, что каждый способ "скрытия" временных изменений также блокируется.
Обратите внимание, что я не хочу - принимать без изменений, поскольку один и тот же файл часто содержит как временные изменения (которые я не хочу напоминать о) и постоянные изменения (что я делаю) и просмотр Обработка временных изменений (не выполняемых) в Git не содержит предложений, которые касаются всех этих требований.
С Mercurial я рассмотрю использование Mercurial Queues, чтобы приблизиться к тому, что я хочу. Я бы создал патч с моими временными изменениями, а затем, если бы моя утилита анализа обнаружила очередь исправлений, она выскочила бы, выполнив анализ, а затем оттолкнула бы их обратно. Это позволит эффективно удалить только временные изменения, выполнить анализ только тех изменений, которые я не считаю временными, а затем повторно применить эти изменения.
Проблема с любым подходом, который изменяет рабочий каталог, заключается в том, что это повлияет на поведение живой системы - например, наша система регистрации проверяет наличие обновлений для конфигурации ведения журнала каждые 10 секунд или около того.
Итак, как я могу лучше всего показать git, что некоторые изменения являются временными и не должны быть зафиксированы и/или объединены, в то время как другие должны?