W poprzednim artykule pokazałem, w jaki sposób założysz projekt na GitHub oraz dodasz go do pyCharm, czyli zintegrowanego środowiska programistycznego. Wspomniałem wtedy, że na Twoim komputerze powstała lokalna kopia, klon, repozytorium projektu z GitHub-a. Pracujesz na niej, dodając nowe linie kodu, czy modyfikując istniejące. W pewnym momencie musisz jednak wprowadzić zmiany do repozytorium projektu. W pyCharm i każdym innym środowisku IDE, wprowadzanie zmian do repozytorium projektu jest to bardzo proste i nie wymaga znajomości komend git-a.
Gdzie tak naprawdę piszesz swój kod?
No właśnie, gdzie go piszemy? Gdybyśmy korzystali z edytora wbudowanego w GitHub czy GitLab edytowalibyśmy kod bezpośrednio na serwerze. Prawdopodobnie wiązałoby się to z jednoczesną jego aktualizacją w repozytorium. W rzeczywistości jednak WebIDE to narzędzie do drobnych poprawek czy małych prywatnych repozytoriów. W świecie programistów robi się to inaczej.
Kod aplikacji każdy z programistów uczestniczących w projekcie edytuje na własnym komputerze, tam też go testuje. W dużych projektach takich jak Ansible, dla którego stworzyłem i opiekuję się modułami do obsługi Docker Swarm, korzysta się z zaawansowanych funkcjonalności takich jak: branch, pull request, merge, rebase. Zapamiętaj te terminy, bo na pewno Ci się kiedyś przydadzą, ale nie przywiązuj do nich teraz wielkiej wagi.
Jak już wspomniałem, tworząc moją aplikację będę pisał i testował kod na własnym komputerze w sklonowanym repozytorium. Na początek przygotowuje wszystkie zmiany lokalnie, na przykład tworzę nowy folder czy plik. Za każdym razem, gdy tworzymy nowy plik, pyCharm pyta się czy dodać go do repozytorium. Tylko pliki dodane do repozytorium będą w nim zarządzane. Pliki będące częścią repozytorium, w pyCham wyświetlane są w projekcie w kolorze zielonym, niedodane w czerwonym zaś zmodyfikowane w niebieskim.
Wprowadzanie zmian do repozytorium
Wprowadzanie zmian do repozytorium jest dwuetapowe. W pierwszym z nich zatwierdzamy zmiany w lokalnej kopii repozytorium. Taka zmiana nazywa się commit. Powinniśmy go wprowadzać z każdym nowym utworzonym i przetestowanym blokiem naszej pracy. Może to być nowa funkcjonalność albo drobna poprawka. Dobrą zasadą jest, aby nie commit-ować niedziałających elementów kodu, ale czasem nie da się tego uniknąć. Każdy commit powinien być opatrzony komentarzem.
Aby dodać nowy commit wybieramy z menu aplikacji VCS -> Commit... W oknie dialogowym możemy wybrać zmiany odnoszące się do których plików chcemy wprowadzić oraz dodać komentarz. Komentarze powinny być zwięzłe, ale informować czego zmiana dotyczy.
Zmiany, które wprowadziliśmy, nie są póki co widoczne w repozytorium naszego projektu. Nadal są to tylko zmiany odnotowane lokalnie. Aby dodać je do repozytorium projektu, musimy wykonać operacje Push. W ten sposób synchronizujemy jeden lub więcej commit-ów do repozytorium.Wtedy dopiero system analizuje czy wprowadzone przez nas zmiany nie stoją w konflikcie ze zmianami wprowadzonymi przez inną osobę pracującą nad projektem.
Aby dodać wprowadzone zmiany do projektu na GitHub wybieramy VCS -> Git -> Push.. W oknie dialogowym zobaczymy listę commitów, które zostaną wprowadzone do kodu na repozytorium GitHub.
Jeżeli operacja wykona się poprawnie zobaczymy wprowadzone przez nas zmiany w repozytorium projektu na GitHub.