Git отключить отправку из локального репозитория

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

Чтобы не облажаться и не внести изменения, которые видит только одна компания, есть ли способ разрешить выборку только из локального репозитория? Я по-прежнему хочу иметь возможность отправлять изменения в репозиторий ядра из моей среды разработки, но не хочу, чтобы производственные машины могли это делать.


person John Zumbrum    schedule 04.12.2011    source источник
comment
Я считаю, что это зависит от того, что вы используете для размещения своего репозитория git. Это Github, ваш собственный git-сервер или что-то еще?   -  person KL-7    schedule 04.12.2011
comment
возможный дубликат Как сделать репозиторий git доступным только для чтения?   -  person Colin Hebert    schedule 04.12.2011


Ответы (2)


Укажите несуществующий pushurl в удаленном разделе репозитория источника клонов (называемом origin) в файле .git/config. Пример:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = <url>
        pushurl = www.non-existing-url.com

Или, если вам не нравится редактировать файл конфигурации репозитория, вы можете ввести:

$ git config remote.origin.pushurl www.non-existing.com

При нажатии вы получите сообщение об ошибке, например:

$ git push
fatal: 'www.non-existing-url.com' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Конечно, вам нужно будет отредактировать файл конфигурации каждого клонированного репозитория.

person Paul Pladijs    schedule 04.12.2011
comment
Похоже, это та информация, которую я искал. Я только что разобрал свои репозитории, так как собираю их по-новому, но как только я соберу их обратно, я протестирую это. - person John Zumbrum; 06.12.2011

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

git remote set-url --push origin www.non-existing-url.com

тоже должно работать

person David A    schedule 22.03.2012