Po-słowie na każdy temat

czyli programowanie i nie tylko

Git – bezpieczne przenoszenie repozytorium

Czasami przychodzi czas, by zmienić zdalny serwer naszego repozytorium, czy to z pobudek ekonomicznych, czy to bezpieczeństwa i prywatności, czy w końcu związanych z decyzją przełożonych. Jak się domyślacie wszystko jest do zrobienia. W tym konkretnym przypadku nie ma większych problemów, jednak trzeba pamiętać o kilku ważnych kwestiach.

Czytaj dalej…

Git stash, czyli słowo o rzeczy … zapomnianej

Wracamy po przerwie. Będzie kilka słów o schowku w GIT. Z całą pewnością większość z Was pierwsze słyszy o czymś takim. Mi samemu często umyka ta możliwość w systemie. Ale dla zasady warto z tej możliwości korzystać, by zachować porządek i być zadowolonym ze swojej staranności. Pasjonaci są tym zachwyceni.

Powiem szczerze, że zdarza się konieczność pilnych zmian w wydzielonej części repozytorium (praca na innej gałęzi, wyłączenie innej gałęzi, scalanie itd.). Wówczas pracując nad czymś zupełnie innym w trybie pilnym musimy przejść do innego zadania. Cóż robimy?

Czytaj dalej…

GitInspector

Witam, tym razem nawiążę pośrednio do archiwalnego artykułu dotyczącego Gource. O ile Gource można określić ciekawym gadżetem, o tyle GitInspector to już aplikacja pozwalająca czerpać korzyści z punktu widzenia biznesowego. Managerzy projektów często korzystają z dużo większych analiz, które są oferowane w CI, dlatego opisywaną aplikację określam raczej, jako dedykowaną dla małych projektów, małych firm lub programistom, którzy sami chcieliby zobaczyć, jak wyglądają na tle swoich kolegów w projekcie. Wspólnym wyznacznikiem w obu przypadkach jest system kontroli wersji GIT. Sporo czasu zajęło mi wyszukanie programów tego typu. Bardzo się zdziwiłem, kiedy okazało się, że aplikacje tego typu istnieją i cieszą się mniejszym lub większym powodzeniem. Byłbym bardziej obiektywny, gdybym takie testy aplikacji zrobił niezależnie na każda platformę. Jednak na razie musicie się zadowolić moim faworytem na system Windows. GitInspector ma to czego wymagałem od tego niego.

Czytaj dalej…

GIT – zmuszamy .gitignore do działania

Ruszamy zatem moi drodzy z cyklem artykułów w nowym roku 2014. Na początek krótki wpis, dotyczący systemu zarządzania wersjami GIT. Zajmiemy się ciekawym przypadkiem, który wśród początkujących użytkowników spędza sen z powiek. Mowa o sytuacji, kiedy w repozytorium „wersjonujemy” plik, który chcemy rozpocząć ignorować podczas wprowadzania zmian do systemu (commit). Cóż zrobić, gdy po odpowiednim uzupełnieniu .gitignore nie widać oczekiwanych rezultatów? Co uczynić, gdy nadal widnieje on w poczekalni przed commitem? Czytaj dalej…

GIT – cherry-pick, czyli jak wydłubać pesteczkę

Jest GIT? Musi być! Na początek kilka dosłownie słów na temat tego cudeńka. GIT jest rozproszonym systemem kontroli wersji (DVCS – Distributed Version Control System). Git przechowuje i traktuje informacje kompletnie inaczej niż te pozostałe systemy, mimo że interfejs użytkownika jest dość zbliżony. Rozumienie tych różnic powinno pomóc Ci w unikaniu błędów przy korzystaniu z Git. Podstawową różnicą pomiędzy Git a każdym innym systemem VCS (włączając w to Subversion) jest podejście Git do przechowywanych danych. Większość pozostałych systemów przechowuje informacje jako listę zmian na plikach. Systemy te (CVS, Subversion, Perforce, Bazaar i inne) traktują przechowywane informacje jako zbiór plików i zmian dokonanych na każdym z nich w okresie czasu. Git podchodzi do przechowywania danych w odmienny sposób. Traktuje on dane podobnie jak zestaw migawek (ang. snapshots) małego systemu plików. Za każdym razem jak tworzysz commit lub zapisujesz stan projektu, Git tworzy obraz przedstawiający to jak wyglądają wszystkie pliki w danym momencie i przechowuje referencję do tej migawki. W celu uzyskania dobrej wydajności, jeśli dany plik nie został zmieniony, Git nie zapisuje ponownie tego pliku, a tylko referencję do jego poprzedniej, identycznej wersji, która jest już zapisana.  Czytaj dalej…