Dlaczego mam naciskać, jeśli pracuję sam w lokalnym repozytorium?


21

Współdziałam z Git za pośrednictwem GitHub na Windows , co jest zabawne, ponieważ nigdy nie wypchnę swojego repozytorium do GitHub. Pracuję nad tym sam i jest przeznaczony tylko dla mnie. Zauważyłem, że moje zatwierdzenia są wymienione w „niezsynchronizowanych zatwierdzeniach”, aw „historii” napis „brak zobowiązań”. Co prowadzi mnie do pytania: co osiągnę, pchając, z wyjątkiem moich zobowiązań wymienionych w „historii”?


14
W pytaniu, na które warto zwrócić uwagę, jest jeden znaczący brak zrozumienia: jeśli nie wysłałeś niczego zdalnie, cała twoja praca jest w lokalnym repozytorium na dysku. Stracić maszynę, stracić wszystko, co kiedykolwiek zrobiliście.
Lars Viklund,

Odpowiedzi:


40

Masz techniczną poprawność - nie musisz naprawdę naciskać, jeśli nie udostępniasz nikomu kodu.

Z drugiej strony laptop ma dysk twardy wykonany przez osobę, która zaoferowała najniższą cenę. Twój dom może się spalić, zanim dojdzie do awarii dysku twardego. Możesz zajrzeć na swój kod zdalnie. Lub nawet udostępnij to komuś.

Teraz, dzięki Github, wymagają, aby wszystko było publiczne lub trzeba zapłacić za prywatne repozytoria. Więc jeśli chcesz zachować to dla siebie, możesz wypróbować bitbucket, który pozwoli ci robić git, ale także oferuje bezpłatne prywatne repo.

Inną opcją byłoby zapisanie repozytorium git w miejscu, w którym zdalnie utworzono kopię zapasową. Ale jest to obecnie kilka zalet, a nie tylko korzystanie z dostawcy SCM w chmurze.


BitBucket oferuje prawie nieograniczoną liczbę prywatnych repozytoriów za darmo .

Istnieje wiele powodów, aby popychać. Przepływ pracy tak naprawdę niewiele się zmienia. Pracujesz zatwierdzasz, zatwierdzasz, zatwierdzasz, kończysz przepływ pracy i wypychasz ...
Rig

7

Jest jeszcze jeden powód, dla którego chciałbyś wypchnąć repozytorium (nawet jeśli jest to w taki czy inny sposób lokalny): stacje robocze .

Nie wiem o tobie, ale pracuję na 4 różnych komputerach (1 komputer w domu, 1 laptop, 1 komputer biurowy i 1 komputer biurowy), a wprowadzanie zmian do prawidłowo skonfigurowanego serwera Git na serwerze mojej firmy sprawia, że ​​synchronizacja jest szybka i bezbolesny. Ponieważ Git jest DVCS, daje to tę zaletę: to nie tylko kopie zapasowe, ale wszystkie różne bazy kodu, nad którymi pracuję, można łatwo łączyć, sprawdzać i analizować.

Może być lokalny, jeśli na przykład Twój domowy komputer jest „serwerem” (lub źródłem) i masz domowy laptop - w ten sposób możesz łatwo zsynchronizować.

Sidenote : Ludzie często mówią „Wolę korzystać z Dropbox (lub innej usługi synchronizacji)”. Ogromna ilość obiektów, które ma repozytorium Git, sprawia, że ​​korzystanie z Dropbox w ten sposób jest śmieszne. Jest to opcja, ale nie powiedziałbym dobrej.


+1, zdecydowanie zrobiłbym to samo w twoim przypadku. Co robisz, jeśli zapomniałeś pchać w domu i jesteś teraz w pracy?
Moshe Revah,

2
@Zippoxer Skoncentruj się na innym zadaniu i połącz je później.
bytebuster

Dokładnie, co powiedział @bytebuster. To jest piękno DVCS! (Chociaż przy wystarczającej praktyce nie zapomnisz ponownie!)
AeroCross

Alternatywnie: Pracuj nad projektem pobocznym / hobby, aby zrelaksować się lub odkryć nowe pomysły itp .:-)
johannes

6

Jako rozproszony SCM, git rozróżnia pojęcia „wykonaj migawkę kopii roboczej” (zatwierdzenie) i „repozytoria synchronizacji” (push / pull / fetch).

Jeśli masz tylko jeden lokalny klon swojego repozytorium, wtedy nie ma sensu pchać. Jednak z github, to zrobić jeszcze jeden klon (jeden na github) i popychając zmian nie ma przynajmniej jedną zaletę: kopię zapasową. Jeśli twój komputer umrze, nadal masz wszystko pchane do tej pory na github.

Oczywiście nie jest to głównym celem github; github jest przeznaczony do współdzielenia kodu, więc jeśli twój projekt jest na github, możesz pozwolić innym na pobieranie z tego miejsca, klonowanie twojego projektu, działanie na żądanie ściągania z ich klonów, a nawet dać zaufanym innym osobom dostęp push do twojego repozytorium.

Innym powodem, dla którego należy pchać, jest użycie kilku lokalnych klonów. Może to być przydatne do różnych rzeczy: na przykład możesz chcieć pracować nad dwoma różnymi gałęziami jednocześnie lub wypróbować potencjalnie destrukcyjne operacje w swoim repozytorium; jeśli wszystko działa zgodnie z przeznaczeniem, zachowujesz zmodyfikowany klon (lub wypychasz zmiany z powrotem do oryginalnego repozytorium), ale jeśli wszystko pójdzie na południe, możesz po prostu usunąć zepsuty klon i wrócić do oryginalnego (nadal niezmienionego) .

Niektóre osoby używają nawet git do wdrażania: wersja produkcyjna jest również repozytorium git, a aktualizacja do nowszej wersji jest kwestią pobrania i pobrania (oczywiście działa to tylko wtedy, gdy nie potrzebujesz kroku kompilacji). Niekoniecznie polecałbym go do poważnych rzeczy, ale w przypadku drobiazgów jest to proste i pragmatyczne rozwiązanie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.