2016-12-28 2 views
1

У меня есть репозиторий git, который я использую с несколькими другими людьми. По причинам, github не является вариантом, поэтому мы используем общий каталог и оба клона оттуда.Как я могу нажать на конкретную группу linux?

Проблема заключается в том, что моя группа по умолчанию linux не является группой, в которой находится репозиторий, поэтому, когда я нажимаю, некоторые групповые разрешения перепутаны. Толкаемые файлы просто прекрасны (в репозитории установлен «core.sharedRepository = group»), однако заголовки ветвей и пути в конечном итоге получают мою группу по умолчанию. Это приводит к проблемам с другими, которые тянут мои результаты, если я не изменю их вручную в правильную группу.

Есть ли способ, которым я могу сказать git, чтобы использовать группу общего хранилища при нажатии?

+0

Используйте ACL в файловой системе, чтобы принудительно группировать группы, если это возможно, в используемой вами FS? –

+0

@Sami Это неплохо, но я не уверен, что у меня есть такой доступ к файловой системе. Хотя если бы был способ заставить все файлы, созданные в каталоге, иметь определенную группу, я могу убедить кого-то изменить макет. –

+0

Проверьте, что используется FS. Не уверен, что в наши дни есть люди, которые не поддержали бы ACL, тогда просто можно просто сказать, что «все, что здесь написано, будет иметь эту группу» или, по крайней мере, «все, что здесь написано, будет доступно этой группе». Использовали его во многих случаях, и это спасатель жизни. Определения доступа к UGO обычно не обрезаются. –

ответ

0

Вы ищете команду newgrp. Моя первая попытка была бы ggit() { (newgrp gitgroup; git "[email protected]"); }, которая должна это сделать, тогда вы можете ggit push.

редактирование: хорошо, моя первая попытка она не работает. Команда newgrp не делает никакой магии, она просто запускает для вас оболочку входа. Таким образом, команда

ggit() { echo git $(git rev-parse --sq-quote "[email protected]") | newgrp gitgroup; } 

и что работает.

Смежные вопросы