Принудительное принятие изменений в Git

0

Я хотел бы убедиться, что все изменения, которые люди вносят в файлы в общем каталоге, отслеживаются - фиксируются в Git. Я нашел способы избежать фиксации, если файл был изменен, однако я не нашел способа убедиться, что каждый пользователь вынужден фиксировать свои изменения.

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

Ответы:

1

Самый простой способ обеспечить это - отменить права на запись в этот каталог. Пусть пользователи внесут изменения в свой собственный клон, отправят в центральный репозиторий и полагаются на сценарии ловушек после получения, чтобы обновить «главный» каталог.

grawity
источник
Благодарю. Определенно стоит воздержаться. Можете ли вы увидеть какой-нибудь способ избежать местных клонов?
Левша Дж. Балог
1
Нет. Пока люди могут редактировать «живые» файлы напрямую, они могут редактировать файлы напрямую - вы не можете заставить компьютер заключить их в тюрьму, пока они не выполнят git-изменения или что-то еще.
Гравитация