Narzędzia użytkownika

Narzędzia witryny


ewdgit

Repozytoria Git

Kod pakietów używanych do wyliczania wskaźników EWD utrzymywany jest w repozytoriach Git. Referencyjne kopie repozytoriów znajdują się na Odrze lub na serwerze GitHub.

Instalacja Gita

Pod Windowsami czy na Macu najprościej zainstalować aplikację GitHuba (Git zainstaluje się z nią automatycznie i co więcej, zostanie też automatycznie rozsądnie skonfigurowany):

Następnie trzeba otworzyć RStudio i wskazać mu lokalizację Gita wpisując w pole: Tools → Global Options… → Git/SVN → Git executable ścieżkę: C:/Users/twoja nazwa użytkownika/AppData/Local/GitHub/PortableGit_(…)/bin/git.exe

Przy tym należy oczywiście podmienić twoja nazwa użytkownika i sprawdzić, co należy wstawić zamiast (…) (to jest dłuższy ciąg znaków, który wygląda na sumę kontrolną i zapewne nie musi być taki sam dla różnych instalacji).

Pod Linuksem należy Gita zainstalować z paczek (np. pod Debianem/Ubuntu: sudo apt-get install git).

Wersja „na twardziela” dla użytkowników Windows:

Gita wraz z kilkoma potrzebnymi nakładkami można pobrać np. z: http://gitextensions.github.io. Należy zainstalować sobie wszystko, o co będzie się pytał (chyba że wiesz, że już to masz, albo masz coś, co to dobrze zastępuje), jako to:

  1. gitextensions (GUI do Gita),
  2. Gita (jako takiego),
  3. Kdiff (narzędzie do rozstrzygania konfliktów wersji).

Podczas instalacji zostanie zadanych kilka podchwytliwych pytań, ale to, jak na nie odpowiecie nie ma na szczęście większego znaczenia.

Kwestie związane z kluczami SSH zostały pokrótce opisane na odpowiedniej stronie GitHub-a.

Podłączanie się do repozytoriów na GitHubie

Postępuj zgodnie z instrukcją: Zakładanie projektu RStudio dla pakietu.

Istniejące repozytoria (pakiety):

Podłączanie się do repozytoriów na Odrze

  1. W RStudio wybierz: File->New Project...->Version Control->Git.
  2. Jako adres repozytorium podaj: ssh://wewd@ibe.edu.pl:7122/home/wewd/nazwa_repozytorium_do_którego_chcę_się_podłączyć
  3. W pole z nazwą projektu najlepiej wpisać: nazwa_repozytorium_do_którego_chcę_się_podłączyć
  4. Ścieżkę, gdzie to ma być u Ciebie na komputerze przechowywane wybierz wedle własnego uznania.

Przeczytaj też: Zakładanie projektu RStudio dla pakietu.

Istniejące repozytoria:

Używanie Gita z Rstudio

Kilka rzeczy, do których trzeba wywołać konsolę

  • Czasem GUI RStudio zacina się i nie pozwala dodać (zaznaczyć) niektórych plików do commitu. W takiej sytuacji należy wywołać konsolę Gita i posłużyć się poleceniem (względnie zamiast '.' nazwa konkretnego pliku):
    git add .
  • Jeśli coś namieszałeś i zacommitowałeś rzeczy, które zacommitowane być nie powinny, a teraz chcesz wrócić do któregoś ze wcześniejszych stanów repozytorium, musisz:
    1. Wywołać konsolę Gita i przejrzeć historię commitów przy pomocy polecenia
      git log

      aby namierzyć commit, do którego chcesz przywrócić repozytorium (enterem lub spacją każesz wyświetlać kolejne informacje; gdy dojdziesz do interesującego cię commitu naciśnij 'q' aby móc wpisać dalsze polecenia).

    2. Cofnąć „początek” do odpowiedniego commitu, a następnie popchnąć zmiany na serwer, z zaznaczeniem, że wiesz, że chcesz dokonać cofnięcia:
      git reset --hard <"numer" commitu>
      git push -f

Wykorzystywanie gałęzi

Tzw. gałęzie to świetny wynalazek, który pozwala nam nie narażać końcowych użytkowników pakietu na obcowanie z nanoszonymi przez nas w kodzie zmianami (np. dodawaniem nowych funkcji) tak długo, jak długo nie zostaną one doprowadzone do etapu produkcyjnego, jednocześnie umożliwiając wspólną pracę na rozwijanym kodzie.

Z filozofią używania gałęzi można zapoznać się np. tutaj: http://nvie.com/posts/a-successful-git-branching-model

A sposób używania gałęzi w RStudio opisany został np. na stronie Christiana Lempa.

Gałęzie w RStudio

GUI RStudio oferuje bardzo ograniczone wsparcie dla działania na gałęziach. Przy jego pomocy możliwe jest jedynie przełączanie się pomiędzy już istniejącymi gałęziami oraz dokonanie commitu w aktywnej gałęzi. W związku z tym dużą część operacji trzeba wykonywać z konsoli. W szczególności:

  • Zaciągnięcie nowej gałęzi z serwera, kiedy jeszcze nie ma jej na naszym komputerze:
    git fetch
    git checkout [nazwa_zdalnej_gałęzi]
  • Utworzenie nowej gałęzi:
    git checkout -b [nazwa_gałęzi]
  • Pobieranie danych z innego repozytorium (pull) do aktywnej gałęzi:
    git pull [nazwa_innego_repozytorium] [nazwa_gałęzi_na_innym_repozytorium] 
  • Wysyłanie danych z aktywnej gałęzi do innego repozytorium (push):
    git push [nazwa_innego_repozytorium] [nazwa_gałęzi_na_innym_repozytorium]
  • Połączenia aktywnej gałęzi z inną gałęzią z tego samego repozytorium (merge):
    git merge --no-ff [nazwa_gałęzi]

    Argument –no-ff zapewnia, że w historii zmian aktywnej gałęzi zachowana zostanie informacja o dokonanym połączeniu (merge) i historia zmian obu gałęzi, które są łączone.

Jeśli pracę mamy zorganizowaną w systemie z repozytorium źródłowym - w szczególności na GitHubie - to jako nazwa_innego_repozytorium typowo używamy origin. W ogólności może to być adres serwera, albo reprezentująca go skrótowa nazwa, tzw. remote, o ile została wcześniej zarejestrowana w Gicie (origin jest właśnie remotem).

Tworzenie nowego repozytorium (projektu) na Odrze

  1. Zaloguj się przez ssh na Odrze, na koncie wewd (z użyciem swojego klucza prywatnego).
  2. Utwórz katalog na nowy projekt: mkdir nazwa_projektu.
  3. Przejdź do tego katalogu: cd nazwa_projektu.
  4. Utwórz nowe repozytorium: git init.
  5. I przestaw je w tryb „bare”: git config --bool core.bare true.
  6. Podłącz się do repozytorium przy pomocy RStudio, jak opisano w jednej z wcześniejszych sekcji.
ewdgit.txt · ostatnio zmienione: 2016/11/06 22:00 przez t.zoltak