Można utworzyć gołe do naga klon z repo z dłuższą ścieżkę UNC do pamięci USB z
cd /e/src
git clone --bare //server/path/to/your/network/repo.git
ale wątpię, to kupuje dużo, aby zrobić to w jednym kroku.
Zważywszy, że będziesz pracował w lokalnej aktywnej repo, chciałbym stworzyć gołe repo na pendrive
cd git init --bare /e/src/myproject.git
stworzyć pilota w Twoim aktywnym repo
git remote add usb file:///e/src/myproject.git
a następnie w razie potrzeby naciśnij.
git push usb philip/cool-new-feature
Powyższe polecenia zakładają, że pamięć USB jest E: a katalog roboczy znajduje się w lokalnym aktywnym repo.
Jak rozumiem twoje pytanie, masz co najmniej dwa rozłączne zestawy współpracowników, w zależności od tego, czy twoi pozostali współpracownicy dzielą wspólne centralne repozytorium, czy też pracują na pojedynczych komputerach. Oznacza to, że repozytorium na dysku USB jest repozytorium, do którego wszyscy (w końcu) mają dostęp, więc twoi koledzy z drużyny spędzają większość swojego czasu "w samolocie" w odniesieniu do niego.
Propozycje projektowania procesu rozwoju:
- uniknąć sytuacji, w której ty lub ktoś inny zostaje przeznaczona fuzji. Zamiast tego chcesz, aby wszyscy członkowie zespołu integrowali się tak często, jak to tylko możliwe, aby potencjalne sprzeczne zmiany były niewielkie i łatwe w zarządzaniu.
- Po rozłącznych współpracownikach zwiększa się ryzyko, że ktoś złamie funkcję, od której ktoś inny zależy, albo przez pozornie nieszkodliwe zmiany, albo nieprawidłowo rozwiązując konflikty scalania. Powinieneś mieć szybką, jednoprzyciskową metodę sprawdzania, czy jakieś regresje lub nowe błędy nie wkradły się do Twojego kodu.
- Każda grupa współpracowników, , tj., ci, którzy mają częstszy dostęp do repozytoriów lub wspólnego repozytorium niż do pamięci USB, powinni ćwiczyć ciągłą integrację między sobą. Gdy nowe zatwierdzenia z pamięci USB są dostępne, integracja tego, co mają z nowym kodem z resztą zespołu, powinna stać się priorytetem.
Jednym ze sposobów, w jaki możesz to zrobić, jest sprawienie, by każdy zachowywał czystego mistrza i wprowadzał zmiany tylko w innych oddziałach. posiadanie fizycznej pamięci USB jest naturalnym żeton integracja, więc gdy dany współpracownik ma to sekwencja idzie
git checkout master
git pull usb master # should always be a fast-forward
git merge feature1
make test # or whatever, and repeat until no breakage
git commit
git push usb master
git push shared master # if appropriate
git merge feature2 # if necessary
...
Nie możesz mieć twardych linków z jednego (logicznego) dysku do drugiego. – svick