Скрыть строку в файле до git commit

Я хочу, чтобы определенная строка в определенном файле была скрыта каждый раз, когда я вносил изменения в этот файл.

На самом деле, у меня есть URL-адрес в файле, который не должен быть общедоступным в удаленном репозитории. В любом случае, чтобы скрыть это, используя привязки pre-commit и post-commit или что-то подобное?

В настоящее время я работаю с репозиторием git, но было бы неплохо узнать, как это сделать с помощью svn.

Спасибо, Симау

Ответ 1

Если вы действительно должны иметь этот файл под управлением версии, используйте git драйвер фильтра атрибутов (см. также GitPro book).

Драйвер фильтра состоит из команды clean и команды smudge, любая из которых может быть оставлена ​​неуказанной.
На checkout, когда указана команда smudge, команда передает объект blob со своего стандартного ввода, а его стандартный вывод используется для обновления файла рабочей папки.
Аналогично, команда clean используется для преобразования содержимого файла worktree при регистрации.

Таким образом, script (приватная версия, только в вашем репо, не управляемая Git), на которую ссылается smudge, может заменить кодированный URL, а чистый script восстановит его содержимое до кодированного URL.
Публичная версия того же script, управляемая git и нажатая везде, будет... ничего и сохранить запутанный URL.

alt text

Ответ 2

Вы можете сохранить эту строку в отдельном файле (например, файл ресурсов, если ваша среда поддерживает это), и не помещать этот файл под контроль версии.