Pull to refresh

Comments 6

https://www.baeldung.com/git-assume-unchanged-skip-worktree

Правильнее использовать skip-worktree а не assume-unchanged

Наверное можно пропустить первый шаг, если складывать измененные файлы в stash, вместо копирования в отдельную папочку

Если внести файл в .gitignore, то он не будет отслеживаться гитом лишь в том случае, если этого файла нет в удаленном репозитории.

Удалённый репозиторий (которых кстати может быть несколько) тут вообще ничего не решает. Отслеживаться файл не будет в том случае, если он и до этого не отслеживался. А приведённые дальше команды позволяют обойти это правило.

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

Согласен. С переменными окружения нужно дружить ."...Чтобы не приходилось выполнять все эти гит-команды в произвольные моменты работы над проектом",ага, и резолвить за час до демо "=username_local_sheme" в 04:30 commit merged username_local -> master )

Часто существует путаница между конфигами и секретами. Они похожи и хочется именть доступ к ним единообразно. Например адрес базы это конфиг а пароль от базы это секрет.

Хранить всё как конфиги просто, но не безопастно. Хранить всё как секреты, приводит к дополнительным сложностям.

Мне нравится подход со слиянием файлов.
Все конфигарационные файлы я бы бил на три группы. Конфиги от развёртываний(прод, тест итд.), личные конфиги и секреты.

Конфиги развёртываний в репозитории.
Файл с секретами добавляется только в момент депоя. Локально он свой, в .gitignore
Личные конфиги с переопредениями локально свои, в .gitignore

Sign up to leave a comment.

Articles