Informacja o przedsprzedaży kursu gita Maćka Aniserowicza poszła w świat pod koniec września 2018. Wtedy zdecydowałam, że skorzystam z okazji i go kupię. Minął prawie rok i dopiero teraz mogę powiedzieć z czystym sumieniem – ukończyłam kurs. Czas więc na rzetelną recenzję, bez owijania w bawełnę :)
Git flow, o którym wspominałam już wcześniej, to fajna rzecz. Trzeba jednak pamiętać, że odpowiednio nazywać branche (w skrócie: feature/featurename i bugfix/bugname). Czasami zdarza się jednak, że zapomnimy o tej konwencji, a już wyślemy zmiany na serwer. Co wtedy?
W poprzednim wpisie opisywałam, jak używać komendy merge do łączenia zmian. Dzisiaj czas na kolejną komendę – rebase. Chcesz zmienić historię? Zapraszam!
Czasem zdarza mi się, że dodam do projektu jakiś plik i zanim wrzucę go do repozytorium, to on jednak okazuje się niepotrzebny. Do tej pory usuwałem ten plik ręcznie, albo w Eksploratorze Windows albo wpisując komendę: rm <ścieżka do pliku>, gdzie z racji tego, że projekt jest spory, to ścieżka do pliku zawiera w sobie kilka folderów. Jest jednak lepsze rozwiązanie.
Kolejna część dotycząca zawierania przyjaźni z konsolą GitBash - tym razem przedstawiam tajniki łączenia zmian czyli metody merge
Jeszcze parę lat temu, gdyby ktoś mi powiedział, że mam zrobić jakikolwiek rebase, to uciekłabym daleko. Wszelkie akcje w konsolowym GitBashu napawały mnie przerażeniem. Dzisiaj już wiem, że konsola nie gryzie i można z jej pomocą zrobić wiele ciekawych rzeczy - np. przydatny rebase interaktywny.
Ilu programistów traci swój cenny czas na merdżowaniu kodu, zamiast skupiać się na tworzeniu nowych funkcjonalności? Zbyt wielu. Przedstawione są trzy najpopularniejsze strategie branczowania. Poznaj je i zrozum, a następnie wyłuskaj z każdej to, co jest najlepsze dla Ciebie i Twojego projektu.
W pracy, głównie ze względu na administratorów i zarządzanie uprawnieniami, muszę korzystać z TFSa. Nie jestem entuzjastą tego narzędzia i zdecydowanie wolę pracę z Gitem, m. in. z powodów, które ...
Prezentacja Git in my TFS! przedstawiona podczas konferencji dotnetConf, o której pisałem wcześniej, dotyczyła...
Z Gitem pracuję na co dzień już dobre trzy lata, czy nawet więcej. I kocham ten soft. Uważam go za najlepsze narzędzie z jakim kiedykolwiek spotkałem się w swojej programistycznej karierze - we wszystkich kategoriach. Nic nigdy aż tak bardzo mi nie zaimponowało. Zresztą rozwodzić się nie będę - o tym można poczytać we wszystkich moich postach dotyczących Gita. Nie mam jednak w zwyczaju wpadać w jedno narzędzie i od razu zakładać, że jest ono "the only one". Z tego też powodu do projektów pobocznych przez...
Wiele z przewag Gita nad TFS wynika z zasadniczych różnic pomiędzy scentralizowanym a zdecentralizowanym podejściem do kontroli wersji. Więcej na ten temat pisałem w postach Git - rozproszony system kontroli wersji oraz Dlaczego już nie lubię SVN. Zapraszam również tam, a póki co...
autor: Jakiś czas temu próbując wykonać operację merge w TFS napotkałem na bardzo irytujący problem pod tytułem: TF203015 The Item '' has an incompatible pending change. Nie robiłem nic bardzo skomplikowanego. Najpierw pobrałem do gałęzi A zmiany umieszczone na półce (ang. shelve). Następnie, przy pomocy polecenia merge, chciałem do nich dodać zmiany z changeset'a z gałęzi B i w tym momencie pojawił się powyższy komunikat. Sprawdziłem też odwrotną kolejność czyli najpierw merge z gałę...
W ostatnich latach rozproszone systemy kontroli wersji (w skrócie DVCS) stały się popularne, zwłaszcza w środowiskach związanych z open source. Warto je jednak znać nie tylko wtedy, gdy pracujemy nad projektami z otwartym źródłem. Jak bowiem pisałem wcześniej, mogą być one przydatne chociażby do małych jednoosobowych projektów. Ponadto bywają nierzadko używane w większ...
Jak pisałem poprzednio, wykupiłem konto na Vipserv.org i przenoszę tam wszystkie swoje projekty (git, hg i svn) trzymane dotychczas na dysku. Poniżej kroki, które musiałem wykonać (na świeżej wirtualce z Windows) aby, mieć działający projekt zarządzany przez Redmine, a trzymany w Gicie.
O Git i innych DVCS(np: Mercurial) ostatnio głośno w .Netowym świecie, chociaż same rozwiązania zdecydowanie nie są nowe. Okazuje się, że jest możliwość wygodnego używania GIT w Visual Studio. Dysklajmer To o czym pisze napewno będzie razić wszystkich którzy używają Gita z linii komend. Oczywiście jest to nadal jedna z możliwości. Można sobie zbudować makra i odpalać odpowiednie polecenia z Visual Studio. Jednak nie o tym chciałem napisać.GitExtensions Git...
Mercurial jest fajny (a Git jest git:) ) - znalezienie większości funkcjonalności, nawet jeśli nie znamy odpowiedniej komendy, zajmuje chwilę i nie wymaga przekopywania się przez długaśny manual. Wystarczy wpisać "hg help" i dostaniemy naprawdę zwięzłe, pomocne i konkretne opisy dostępnych poleceń.
Parę dni temu natknąłem się na następujący problem: chciałem usunąć branch z source control TFS, ale podczas próby wykonania takiej akcji, dostawałem komunikat, że jeden z developerów z zespołu posiada locki na plikach. Z pewnych względów developer ten nie mógł zdjąć swoich locków, więc musiałem mu trochę pomóc ;)
W poście przedstawiającym Gita wspomniałem o możliwości modyfikacji historii - i dzisiaj więcej na ten temat. Jest to funkcjonalność naprawdę nie do przecenienia. Commit nie jest już czynnością ostateczną, z którą nie można nic zrobić, jak nas przyzwyczaił SVN. Wtedy przed puszczeniem zmian trzeba się było zastanawiać i analizować dokonane zmiany. Tutaj natomiast bardzo sensownym trybem pracy jest lokalne zatwierdzanie zmian tak często jak mamy na to ochotę - ja na przykład nienawidzę mieć jednocześnie z...
Git posiada możliwość nadawania własnych aliasów jego komendom. W konfiguracji wygląda to tak: 1: [alias] 2: ci = commit A więcej na ten temat można poczytać w WIKI. Ja jednak zamiast korzystać z aliasów, napisałem swój skrypt do miniaplikacji AutoHotkey. Przechwytuje ona zdefiniowane sekwencje klawiszy, w locie zamieniając na inne akcje. (tym, którzy go nie znają, gorąco polecam ściągnięcie i kilka chwil zabawy, świetna sprawa). Mój poniższy skrypt jest banalny: ogranicza się do rozwijania 2...
Wspominałem o "nienajświetniejszym" działaniu Git pod Windows oraz o tym, że w Mercurialu udało mi się zrobić WIĘCEJ przez 2 godziny niż w Git przez kilka miesięcy. Główną czynnością, którą miałem wówczas na myśli, było udostępnienie swojego repozytorium na zewnątrz. Linuxowa wersja Gita rozprowadzana jest z komendą git-daemon pozwalającą na zdalne dobranie się do repo po protokole git://. Taki odpowiednik svnserve. Niestety po zainstalowaniu msysgit okazuje się, że w tej wersji deamona po prostu nie ma...