git - исключить конкретную строку из отслеживания
Есть ли у git'а возможность исключить конкретную строку/слово/символ из отслеживаемого, что-то вроде занесения ее в .gitignore.
Например, есть файл с конфигом, в нем есть какой-то секретный токен, надо запушить на гитхаб этот файл только без секретного токена.
В файле:
$telegramToken = "dasfdasflasdfls";
Улетит на гитхаб:
$telegramToken = "";
Ответы (1 шт):
Автор решения: Roman Grinyov
→ Ссылка
Обычно делается примерно так:
- допустим, есть папка
config - в ней создаётся папка
dist - в папку
distпомещаются фейковые конфиги или конфиги для локальной разработки - папка
distкоммитится - далее, на проде, вы копируете нужные конфиги из папки
dist, например,mail.phpв родительскую папку (config) - файлы из папки
config(которые мы скопировали изdist) подключаются в одноимённых файлах из папкиdistи переопределяют значения параметров (в PHP например это делают с помощьюarray_merge()); если какого-то параметра нет, то он, соответственно, будет браться из одноимённого файла из папкиdist - файлы в папке
configдобавляются в.gitignore
А если очень хочется именно строку, то в IDE-хах есть такие фичи. Например, в PhpStorm можно на вкладке Git перенести изменённый файл в другой «Change List» и он не будет добавляться в stage, хотя другие его изменения — будут.