2012-07-24 11 views
60

W jaki sposób zespół czterech osób może używać Git (konkretnie Github for Windows) do przekazywania zmian lokalnych na udostępniony dysk sieciowy?Zmiana git w udostępnionym napędzie sieciowym

W tej chwili (bez Git) musimy skopiować pliki z dysku sieciowego na nasz komputer lokalny, edytować pliki, a następnie ponownie przesłać je na udostępniony dysk sieciowy. Jest to żmudny proces, który może prowadzić do wielu błędów, ale wydaje się, że Git może nam pomóc.

Czy możemy po prostu zainstalować Git na wspólnym dysku i przejść od tego miejsca?

Odpowiedz

20

Nasz zespół obecnie robi dokładnie to. Każdy deweloper ma następujące elementy:

  1. Git zainstalowany na swoim komputerze lokalnym
  2. dostęp do własnej udostępnionym dysku osobistego (L:)
  3. Dostęp do dysku wspólne grupy (V:)

My mieć "zdalne" repozytorium (skonfigurowane przy użyciu init -bare) na dysku V:, a każdy ma klon na swoim osobistym dysku L:. Wszystkie zmiany są wprowadzane na dysku L: i przesyłane do napędu V:, które następnie są wciągane przez innych programistów do ich osobistych repozytoriów na ich dyskach L:. Działa to bez żadnych problemów i zmniejsza potrzebę serwera Git.

+0

Okay, świetnie! Czy muszę najpierw utworzyć lokalne repozytorium, a następnie skonfigurować pilota tego repo na współdzielonym dysku? – user1549303

+1

@ user1549303 - Tak to robimy. Możesz utworzyć lokalne repozytorium (nasze repozytorium 'L:') używając 'git init', a następnie utwórz pilota (nasz napęd" v: ") używając' git clone --bare' (lub 'git init - -bare', a następnie push z 'L:'). – eykanal

+0

@eykanal - Mój zespół korzysta obecnie ze starożytnej, okropnej biblioteki kontroli źródła i chcemy przejść na git. Jedną z rzeczy, które pozwala mi obecna biblioteka, jest sprawdzenie, kto wyewidencjonował plik, ale zapomniał sprawdzić wprowadzone zmiany. Z git, wszystkie repozytoria są lokalne, więc skąd możesz wiedzieć, czy ktoś zapomniał wcisnąć "v:"? –

1

Możesz dodać kolejny pilot zdalnego wskazujący na dysku sieciowym (git remote)

Następnie można push pull podobny do tego, co zrobić z github

78

Nie wiem, czy znaleźliście coś, co działa dla Ciebie lub nie, ale ja mają writeup jak to zrobić, że bardzo na dysku sieciowym Windows:

http://tony.halcyonlane.com/blog/2011/09/22/Using-git-at-work-on-a-Windows-network-drive/

od a cmd szybkiej zmiany do odwzorowanym dysku.

$ cd g:

Następnie przejdź do swojego wkrótce do repozytorium git.

$ cd scripts

Następnie utwórz puste repozytorium git. Jeśli nie skorzystasz z opcji --bare, będziesz mieć problemy, więc nie zostawiaj tego.

$ git init --bare

Teraz, jeśli nie masz jeszcze lokalne repozytorium git, a następnie można sklonować nowego repozytorium gdziekolwiek chcesz, przechodząc z powrotem na dysku lokalnym.

$ c:

$ cd work/scripts

$ git clone file://g:\scripts

Podczas klonowania, automatycznie uzyskać zdalny o nazwie „pochodzenie” i można wcisnąć do serwera w celu bezpiecznego przechowywania dowolnej chwili zmian lokalnie.

$ git push origin master

Jeśli masz już repozytorium git i chcesz po prostu wypchnąć do udostępnionego dysku to można to zrobić z poziomu lokalnego git reż.

$ git remote add origin file://g:\scripts

$ git push origin master

+0

Dziękuję - zrobiłem dokładnie to za osobisty projekt w mojej sieci domowej. –

+0

Po wykonaniu tych czynności otrzymałem następujące błędy, gdy uruchomiłem git push origin master Błąd: nie można odradzać sh: Nie ma takiego pliku lub katalogu fatal: nie można otworzyć widelca – NickStees

+0

Dziękuję. Zajęło dużo czasu, aby znaleźć tę odpowiedź –

Powiązane problemy