Я хотел бы убедиться, что все изменения, которые люди вносят в файлы в общем каталоге, отслеживаются - фиксируются в Git. Я нашел способы избежать фиксации, если файл был изменен, однако я не нашел способа убедиться, что каждый пользователь вынужден фиксировать свои изменения.
Мы говорим об общих файлах в (Git) каталоге проекта? Или просто какой-то каталог на сервере? Может быть, на долю NFS? Пожалуйста, опишите ваш вариант использования.
—
mtak
В общем каталоге - я обновил вопрос, чтобы отразить его.
—
Левша Дж. Балог
Просто мозговой штурм, но как ядро будет реализовывать что-то подобное? Предоставить доступ RW, но записать файл на диск только в том случае, если кто-то сделал коммит Git (какой git не подхватит, потому что файл на диске еще не изменился)? Пользователи всегда смогут изменить файл и затем выйти из системы, даже если git запросит у них, например, сообщение о коммите. И что произойдет, если у кого-то не будет установлен ключ ssh, но есть доступ на запись в файл? Вы могли бы сделать оболочку своего рода, чтобы люди не забывали фиксировать, но строгое соблюдение этого кажется невозможным.
—
mtak
Именно так. Я надеялся, что ты этого не скажешь. Это как раз моя проблема, и я пытаюсь найти оригинальный способ ее обойти. Я могу гарантировать, что тот, кто изменяет файл, имеет надлежащие учетные данные Git, но проблема заключается в том, чтобы заставить его выполнить коммит.
—
Левша Дж. Балог
Похоже, ты неправильно используешь мерзавца. Вам нужно нечто вроде файловой системы только для добавления. Если вы настаиваете на том, чтобы придерживаться git, сделайте общую папку доступным только для чтения, и пусть пользователи нажимают на нее.
—
Гроностай