2010-09-21 12 views
7

Mamy serwer pośredniczący, którego używamy git do zarządzania w bardzo prosty sposób: rozwijaj lokalnie, git commit/push, a następnie git pull na serwerze. Chciałbym móc zamienić użytkownika na kopię serwera, aby móc uruchomić polecenie git, a nie osobę, która konfigurowała środowisko. Masz pomysł, jeśli to możliwe?Czy można przełączyć użytkownika na repozytorium git?

Odpowiedz

5

Po prostu chown -R (lub chgrp -R i chmod -R g+w) do repozytorium, w którym chcesz móc git pull. Git nie ma uprawnień do samodzielnego sprawdzania, odrzuca go do dowolnego mechanizmu dostępu, którego używasz. W przypadku dostępu lokalnego i SSH, jak się najwyraźniej używasz, jest to zwykła własność pliku OS.

+0

Masz na myśli "zdalne repozytorium" (repozytorium, które działa jako master) lub "kopię roboczą" (aby użyć terminu svn - repozytorium znajdującego się na serwerze testowym)? – pjmorse

+0

Niezależnie od tego, w którym repozytorium chcesz móc "git pull". (Poprawiłem moją odpowiedź, aby wyjaśnić.) –

+1

@pjmorse: Tak, Arystoteles Pagaltzis oznacza zdalne repozytorium. Wszystko git wie o repo jest w .git, więc zmień użytkownika na .git i jesteś dobry, aby przejść. –

3

Istnieje duża repo na github nazywa gitswitch który pozwoli na przełączanie się między użytkownikami git: https://github.com/joealba/gitswitch

Od readme:

łatwo ustawić przełącznik/aktualnej informacji o użytkowniku git dla git repo .git/config lub twój globalny plik ~/.gitconfig.

Ten klejnot powinien się przydać, jeśli masz prywatne i służbowe repozytorium . Może to również pomóc w przełączaniu się między użytkownikami podczas programowania parami w trybie .

Czy wolisz wpisać "git config user.email" [email protected] "", itp. Lub typ "przełącznik przełącznika gits"? Jeśli odpowiedziałeś na to drugie, sprawdź ten klejnot.