Ten kurs jest częścią ścieżki:
Software Developer
tworzyć i organizować pracę za pomocą zgłoszeń (issues) i projektów
grupować zgłoszenia po kategoriach (labels) i postępach prac (milestones)
korzystać z szablonów nowych zgłoszeń
dokumentować pracę na Wiki
zarządzać widocznością repozytorium i dodawać członków
korzystać z GitHub Desktop, by tworzyć propozycje zmian (pull requesty) i gałęzie (branche)
ekspresowo tworzyć strony projektu (Github Pages)
koncepcji społecznościowych takich jak forking czy starring
Jeśli masz do czynienia z programowaniem, na pewno słyszałeś o GitHubie. Większość, zwłaszcza początkujących programistów wykorzystuje go do kopiowania kodu, czy szukania rozwiązań. Jego prawdziwy potencjał ujawnia się jednak dopiero wtedy, gdy założysz tam konto, prowadzisz projekt lub wspierasz publiczne repozytoria. Społecznościowe aspekty GitHuba pomagają łatwiej rozkręcić własny projekt czy zdobyć doświadczenie. Każdy może zaproponować zmianę w programach, bibliotekach, dyskutować o ich przeznaczeniu i dalszym rozwoju. GitHub to standard w branży IT. Posiadanie tam aktywnego konta jest wielkim prestiżem w oczach rekruterów i potrafi znacząco zmienić przebieg rozmów kwalifikacyjnych. Jako programista nie możesz więc pozwolić sobie na to, by go nie znać... zwłaszcza że GitHub jest darmowy.
W początkowych rozdziałach szkolenia, oprócz krótkiego wprowadzenia do dostępnych portali oferujących przechowywanie repozytoriów, pomogę Ci z utworzeniem konta GitHub, zabezpieczeniem go i pobraniem programu Github Desktop znacznie ułatwiającego pracę na repozytoriach. Pokażę Ci jak założyć na początek prywatne repozytorium, na którym będziesz mógł spokojnie eksperymentować z GitHubem. Oczywiście w dalszych częściach pokażę Ci, co zrobić, gdy uznasz, że pora upublicznić swój projekt i pokazać go światu. Ten kurs krok po kroku pokaże Ci jak efektywniej pracować z kodem i zdalnymi repozytoriami.
W trakcie kursu, na przykładzie utworzonego projektu, dowiesz się jak tworzyć zgłoszenia i jak działają ich własności. Zadania będziemy etykietować w odpowiednie grupy, aby łatwiej można było zarządzać konkretnymi zestawami prac. Omówimy też mechanizmy kamieni milowych (milestones) pozwalające zestawiać zadania ze względu na konkretne etapy rozwoju programu. Dzięki temu zawsze będzie wiadomo jaka praca jest aktualnie “na tapecie”. W trakcie kursu utworzymy również projekt do śledzenia postępów prac i przećwiczymy działanie statusów zadań.
Gdzie jest odpowiednie miejsce na umieszczanie wskazówek? Jak przygotować projekt, by łatwiej było rozpocząć z nim pracę? Czy dokumentacja i Readme to to samo? Jeśli nurtują Cię takie lub podobne pytania, to już niedługo przestaną. Wspólnie przygotujemy strony na Wiki, w których będzie można gromadzić informacje teoretyczne o projekcie, instrukcje postępowania, pomoce do rozpoczęcia pracy czy kontekst niezbędny przy rozwoju projektu. Skorzystamy z Github Pages, dzięki którym prezentacja projektu “na zewnątrz” będzie niezwykle szybka i przede wszystkim darmowa. Po co płacić za hosting, skoro Github udostępnia swoim projektom za darmo przestrzeń na super wydajnych i stabilnych serwerach Microsoftu?
Git jest standardem, jeśli chodzi o repozytoria. Wiele osób narzeka jednak na jego skomplikowanie i nieco archaiczną metodę pracy w konsoli. Na szczęście mamy aplikację GitHub Desktop, dzięki której możesz niezwykle łatwo pracować z kodem źródłowym na swoim komputerze. Za pomocą kilku kliknięć łatwo pobierzesz czyjeś zmiany i prześlesz swoje propozycje zmian, tak by mogły one zostać zrewidowane przez pozostałych programistów. Szybko, łatwo i przejrzyście. Jeśli chcesz poznać działanie Gita “z lotu ptaka” i jeszcze lepiej zrozumieć, po co tworzy się gałęzie i czemu kopiujemy repozytoria zdalne do siebie lokalnie, to w GitHub Desktop odbędzie się to bez mozolnej pracy w konsoli.
Aby w pełni wykorzystać wiedzę zawartą w tym szkoleniu, wystarczy podstawowa wiedza na temat programowania - nie musisz nawet znać żadnego języka programowania, chociaż taka wiedza oczywiście będzie przydatna. Wprowadzając jakieś pojęcia i prezentując narzędzia, zawsze parafrazuję je możliwie najprościej, tak nawet początkujący programista zrozumiał wszystko bez problemu.