Git, Bitbucket, IntelliJ IDEA -...

17
Państwowa Wyższa Szkola Zawodowa w Tarnowie Zaklad Informatyki Narzędzia i środowiska programistyczne Narzędzia i środowiska programistyczne Laboratorium 3 Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Transcript of Git, Bitbucket, IntelliJ IDEA -...

Page 1: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Państwowa Wyższa Szkoła Zawodowa w TarnowieZakład Informatyki

Narzędzia i środowiska programistyczneNarzędzia i środowiska programistyczne

Laboratorium 3Laboratorium 3

Git, Bitbucket, IntelliJ IDEA

Prowadzący:Kierunek:Semestr:Rok:

Tomasz GądekInformatykaZimowy2

Page 2: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Technologie

Technologie będące przedmiotem laboratorium:

Git - definicja

Git - wolnodostępny, rozproszony system kontroli wersji.

Git - downloads

https://git-scm.com/downloads

Git - dostęp z poziomu wiersza poleceń / terminala

Git - dostęp z poziomu wiersza poleceń / terminala:

• Windows: win + r, komenda cmd,

• Linux: ctrl + alt + t,

1

Page 3: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

• Mac OSX: cmd + spacja, wyszukaj: terminal.

Git - konfiguracja

Git - konfiguracja:

• Ustawienia: git config –list,

• Nazwa użytkownika: git config –global user.name ”Jan Kowalski”,

• Email użytkownika: git config –global user.email ”[email protected]”.

Git - konfiguracja (przykład):

2

Page 4: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Git - repozytorium

Repozytorium - miejsce przechowywania zmian.

Git - przepływ pracy

Twoje lokalne repozytorium składa się z trzech drzew zarządzanych przez git. Pierwsze to KatalogRoboczy, który przechowuje bieżące pliki. Drugie to Index, które działa jak poczekalnia i ostatniez nich to HEAD, które wskazuje na ostatni utworzony commit.

IntelliJ IDEA & Git

Przed przystąpieniem do działania nad nowym repozytorium należy sprawdzić czy Git jest skonfi-gurowany poprawnie w zintegrowanym środowisku programistycznym. Aby sprawdzić konfiguracjęnależy przejść do Configure ï Preferences (Widok powitalny IntelliJ IDEA).

3

Page 5: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Po przejściu do Version Control ï Git mamy możliwość modyfikacji ścieżki do systemu kontroliwersji (jeśli nie możemy znaleźć w systemie ścieżki do katalogu bin Git’a wówczas niezbędnabędzie instalacja systemu kontroli wersji git w systemie operacyjnym). Sprawdzenie poprawnościkonfiguracji odbywa się przy pomocy buttona Test.

Po kliknięciu powinniśmy dostać odpowiedź: Git Executed Successfully.

4

Page 6: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Jeśli w odpowiedzi dostaniemy powyższy komunikat oznacza to, że system kontroli wersji Git jestzintegrowany z IntelliJ IDEA. Możemy przystąpić do dalszych prac.

À Tworzenie nowego projektu

Bardzo proszę o utworzenie nowego projektu nisp lab 03 zgodnie z poniższymi screenami:

5

Page 7: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

6

Page 8: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Po utworzeniu nowego projektu należy skopiować poniższy kod do głównego pliku projektu:

class EmptyDataException extends Exception {}

class Main {

private final static String ERROR_EMPTY_DATA = "Tablica nie moze byc pusta!";

private static int getMinFromDigits(Integer[] digits) throws EmptyDataException {

return Arrays.stream(digits == null ? new Integer[]{} : digits).min(Integer::compare).orElseThrow(EmptyDataException::new);

}

public static void main(String[] args) {

Integer[] listOfDigits = {1,2,3,4,5,5,4,3,1,2};

try {

Integer minFromDigits = Main.getMinFromDigits(listOfDigits);System.out.printf("MIN = %d \n", minFromDigits);

} catch(EmptyDataException e) {

System.out.println(ERROR_EMPTY_DATA);}

}}

Stan projektu po kompilacji i uruchomieniu:

7

Page 9: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Á Połączenie projektu z zdalnym repozytorium

Na platformie Bitbucket proszę utworzyć nowe repozytorium nisp lab 03:

Następnie kopiujemy link zdalnego repozytorium:

8

Page 10: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Musimy włączyć integracją z systemem kontroli wersji. W menu wybieramy VCS ï Enable Ver-sion Control Integration.... Wybieramy system kontroli wersji, który Nas interesuje i klikamyOK.

Możliwość podłączenia się z zdalnym repozytorium dostępna jest z menu: VCS ï Git ï Remo-tes...

9

Page 11: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Należy dodać wcześniej skopiowany link repozytorium w taki sposób jak zostało to przedstawionena powyższym screenie.

 Dodawanie plików do INDEXu

Do komendy mamy dostęp klikając prawym przyciskiem myszki na głównym katalogu projektu, anastępnie Git ï + Add.

10

Page 12: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

à Commit

Do komendy mamy dostęp klikając prawym przyciskiem myszki na głównym katalogu projektu, anastępnie Git ï Commit directory... (CTRL + K)

Następnie proszę nie zapomnieć o dodaniu stosownego komentarza.

11

Page 13: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Ä Push (wysyłanie zmian do zdalnego repozytorium)

Do komendy mamy dostęp klikając prawym przyciskiem myszki na głównym katalogu projektu, anastępnie Git ï Repository ï Push... (CTRL + SHIFT + K)

Następnie klikamy Push i wysyłamy Nasze zmiany na serwer.

12

Page 14: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Upewniamy się czy faktycznie zostały wysłane zmiany na platformę Bitbucket.

Å Pull (pobieranie zmian)

Bardzo proszę o dodanie komentarza nad klasą Main pliku Main.java (branch master) w syste-mie Bitbucket (w menu Source proszę kliknąć na liście plików w Main.java a następnie Edit).Po dokonaniu zmian klikamy Commit.

Przełączamy się środowisko programistyczne IntelliJ IDEA. Do komendy mamy dostęp klikającprawym przyciskiem myszki na głównym katalogu projektu, a następnie Git ï Repository ïPull...

Należy potwierdzić swoją decyzję klikając Pull

13

Page 15: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Æ Tworzenie branchy

Na status barze jest informacja na jakim aktualnie branchu się znajdujemy. Klikając w aktualnąnazwę brancha będziemy mieli dostęp do menu, które udostępnia zestaw operacji na branchach.

Utworzymy z brancha master branch develop. Klikamy w nazwę naszego brancha na status barzei wybieramy + New Branch. Nadajemy nowemu branchowi nazwę develop.

Klikamy OK. W następnym kroku proszę wysłać zmiany do zdalnego repozytorium - Push. Upew-nijmy się czy powstał nowy branch na platformie Bitbucket.

14

Page 16: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Ç Rozgałęzianie i scalanie

Na potrzeby tego ćwiczenia należy utworzyć nowego brancha feature-max-function z branchadevelop.

W klasie Main należy dopisać kolejną statyczną metodę wyszukującą maksimum z tablicy liczbcałkowitych. Po skończonej implementacji należy wykonać Commit i Push.

Aby wykonać scalenie brancha feature-max-function z branchem develop należy wykonać od-powiednie kroki:

Proszę przełączyć się na branch develop:

Kolejnym krokiem jest scalanie branchy:

15

Page 17: Git, Bitbucket, IntelliJ IDEA - files.tomaszgadek.comfiles.tomaszgadek.com/static/files/pdf/nisp/lab/nisp_lab_03.pdf · Narzędzia i środowiska programistyczne Tomasz Gądek Technologie

Narzędzia i środowiska programistyczne Tomasz Gądek

Po udanym scaleniu wykonujemy odpowiednio komendy Commit i Push. Branch develop powi-nien być już aktualny. Proszę sprawdzić efekt swojej pracy na platformie Bitbucket.

16