fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

Git backup


14.03.2011

Jak już niejednokrotnie pisałem, że do pracy bardzo intensywnie wykorzystuję maszyny wirtualne. Każdy projekt ma swoją. Co za tym idzie – cały kod mam także schowany w wirtualkach, bo repozytorium hostuję na vipserv (lub na hostingu dostarczonym przez klienta). Ma to nieprzebrane wprost morze zalet. Ma też kilka wad, z których jedna dawała mi się czasami we znaki: aby dostać się do kodu, muszę odpalić wirtualkę, co nie zawsze jest możliwe.

Przyjemnie byłoby móc napisać “git backup” i mieć całe repozytorium przetransferowane w jakieś dodatkowe miejsce, w moim przypadku: na fizyczne PC. Na tyle przyjemnie, że któregoś razu postanowiłem zrobić mały risercz. Okazało się to dość banalne, ponieważ dokładnie tą funkcję spełnia instrukcja git push z przełącznikiem –mirror.

Wystarczyło utworzyć alias wskazujący na “remote” skojarzone z PCtowym repo gotowym do przyjęcia mojego kodu:

  1:  [alias]
  2:  	backup = push --mirror pc

Uwaga: czasami trzeba operację wykonać dwukrotnie aby pchnięte zostały wszystkie zmiany, wraz ze zmianami organizacji gałęzi. Czytałem kiedyś jakieś wytłumaczenia dlaczego tak jest, ale potem doszedłem do wniosku że w sumie nie ma to dla mnie znaczenia (lub bardziej luzacko: teramietowali:)).

0 0 votes
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
billfuckinggates
billfuckinggates
13 years ago

Możesz mnie niegodnego oświecić, dlaczego wrzucasz każdy projekt na inna wirtualke ? I bardziej generalnie, dlaczego używa się maszyn wirtualnych ?

procent
13 years ago

@billfuckinggates:
Niegodnego?:)
Każdy projekt wrzucam na inną wirtualkę żeby ze sobą nie kolidowały. Na każdej wirtualce mam zainstalowane dokładnie to czego potrzebuję. Tu taki .NET i taki VS, tu sql server, tam mysql, tu git, tam mercurial, gdzie indziej SVN. Tu MVC 2, tam MVC 3, telerik/llblgen…
Różnych komponentów jest masa i lubię mieć wszystko porozdzielane.
Dodatkowo w każdym systemie mam pokonfigurowane narzędzia, skróty klawiaturowe itd na potrzeby jednego projektu. SlickRun inaczej zachowuje się u mnie na hoście a inaczej na każdej wirtualce, to samo chociażby z Autohotkeys. Poprzypinane programy na pasku zadań też są różne, żeby wygodnie się do nich odwołać przez win+[number].

Mam nadzieję że to trochę rozjaśniło sytuację. O samej wirtualizacji pisałem też już w przeszłości: http://www.maciejaniserowicz.com/?tag=/wirtualizacja

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również