ситуация отличаетлся тем что ключи массива потом обычно не меняют в отличие от называния переменной при рефакторинге, хотя пример конечно натянутый, я этот оператор по сути ассоциировал с ?. в js
это вообще само по себе странное занятие после типизированных языков где переменной не может просто так не быть
визуализация имеющегося кода для удобного редактирования через графический интерфейс
nohup делает почти то же самое, что и & после команды
"Полные копии всех состояний не хранятся."
По умолчанию хранятся.
Вот подопытный файл размером почти 8M.
Вот файл блоба с его первоначальным состоянием размером 4М.
Вот ещё один файл блоба, из нового коммита, с добавленной одной строчкой, почти такого же размера -- 4M.
Первоначальный формат для сохранения объектов в Git называется «рыхлым» форматом (loose format). Однако, время от времени Git упаковывает несколько таких объектов в один pack-файл для сохранения места на диске и повышения эффективности. Это происходит, когда «рыхлых» объектов становится слишком много
1 пользователь открыл файл для записи, у него есть дескриптор и на имя ему уже пофиг.
2 пользователь переименовал этот файл.
1 пользователь начинает писать.
2 пользователь открывает файл и тоже начинает писать.
В итоге все пишут в один файл.
Вы можете блокировать файл для записи, но разница будет только в том, что 2 лишь подождет снятие блокировки.
На всякий случай, есть простые СУБД типа sqllite, которые не требуют отдельного разворачивания инстаса, т.е. примерно то, что вы и пытаетесь сделать.