Jak mogę powiedzieć git, że chociaż chcę zezwolić na "git fetch" w niektórych gałęziach, to nie chcę pozwolić na "git push" w tych gałęziach.Jak utworzyć odniesienie do gałęzi odgałęzień git, aby było tylko do odczytu?
Innymi słowy, mam kilka oddziałów, które odzwierciedlają "bieżącą pracę" i chcę je przekazać do mojego repozytorium upstream. Ale mam inne gałęzie (w tym master), które zamierzam odzwierciedlać "inną pracę" w kontekście lokalnego repozytorium i nie chcę stamtąd wchodzić na te gałęzie.
To jest moje zdalne repozytorium, w innych kontekstach chcę być w stanie wcisnąć do wszystkich jego oddziałów. Ale nie z tej konkretnej instancji lokalnej.
Myślę, że to jest możliwe, ponieważ git remote show origin powiedział mi czasami, że mam gałęzie skonfigurowane dla "git pull", ale nie dla "git push". Ale nie rozumiem plików konfiguracyjnych wystarczająco dobrze, aby stworzyć ten efekt ręcznie, i nie rozumiem języka wiersza poleceń Git na tyle dobrze, aby to zrobić tam, albo.
Teraz, co mogę zrobić, to upewnić się, że moja lokalna kopia jest przestarzała dla oddziałów upstream, które chcę pozostać nieskazitelne. (Ponadto, jawnie określając gałąź odbierającą w moim wierszu poleceń git push - określając, że chcę tylko wprowadzić do zdalnej instancji odpowiadającej lokalnie wyrejestrowanemu oddziałowi - zapobiega przepychaniu się do niepożądanych gałęzi, ale chciałbym wyeliminować tę komplikację .)
możliwy duplikat [Zabroń zdalnego przekazywania do głównego oddziału w git] (http://stackoverflow.com/questions/2045329/prohibit-remote-pushing-to-the-master-branch-in-git) – ralphtheninja
To wygląda jak rezolucja, która miała ustawić receive.denycurrentbranch w repozytorium odbierającym. Ale zamiast tego szukam kontroli nad repozytorium przesyłania. – rdm
Możesz ustawić 'push.default = upstream', a następnie' git push' bez dodatkowych argumentów popchnie lokalnie sprawdzoną gałąź. To wygląda na domyślne zachowanie w następnej wersji 'git'. – Borealid