Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
ewdgit [2015/02/17 11:49] t.zoltak [Instalacja Gita] |
ewdgit [2016/11/06 22:00] (aktualna) t.zoltak [Istniejące repozytoria (pakiety):] |
||
---|---|---|---|
Linia 6: | Linia 6: | ||
- | Pod Windowsami czy na Macu najprościej zainstalować aplikację GitHub-a (Git zainstaluje się z nią automatycznie i co więcej, zostanie też automatycznie rozsądnie skonfigurowany): | + | **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): |
* [[https://windows.github.com]] | * [[https://windows.github.com]] | ||
* [[https://mac.github.com]] | * [[https://mac.github.com]] | ||
- | Pod Linuksem należy Gita zainstalować z paczek (np. pod Debianem/Ubuntu: //sudo apt-get install git//). | + | 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// |
- | ** Wersja //na twardziela// dla użytkowników Windows:** | + | 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). |
- | Gita wraz z kilkoma potrzebnymi nakładkami można pobrać np. z: [[https://code.google.com/p/gitextensions]]. 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: | + | **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: | ||
- gitextensions (GUI do Gita), | - gitextensions (GUI do Gita), | ||
- Gita (jako takiego), | - Gita (jako takiego), | ||
Linia 23: | Linia 27: | ||
Kwestie związane z kluczami SSH zostały pokrótce opisane na odpowiedniej [[https://help.github.com/articles/generating-ssh-keys/|stronie GitHub-a]]. | Kwestie związane z kluczami SSH zostały pokrótce opisane na odpowiedniej [[https://help.github.com/articles/generating-ssh-keys/|stronie GitHub-a]]. | ||
- | ====Podłączanie się do repozytoriów na GitHubie==== | + | =====Podłączanie się do repozytoriów na GitHubie===== |
Postępuj zgodnie z instrukcją: [[r_pakiet_howto&#zakladanie_projektu_rstudio_dla_pakietu|Zakładanie projektu RStudio dla pakietu]]. | Postępuj zgodnie z instrukcją: [[r_pakiet_howto&#zakladanie_projektu_rstudio_dla_pakietu|Zakładanie projektu RStudio dla pakietu]]. | ||
- | ===Istniejące repozytoria (pakiety):=== | + | ====Istniejące repozytoria (pakiety):==== |
* [[https://github.com/tzoltak/EWDogolny|EWDogolny]] | * [[https://github.com/tzoltak/EWDogolny|EWDogolny]] | ||
* [[https://github.com/tzoltak/EWDdan|EWDdane]] | * [[https://github.com/tzoltak/EWDdan|EWDdane]] | ||
+ | * [[https://github.com/tzoltak/EWDskale|EWDskale]] | ||
* [[https://github.com/tzoltak/EWDskalowanie|EWDskalowanie]] | * [[https://github.com/tzoltak/EWDskalowanie|EWDskalowanie]] | ||
* [[https://github.com/tzoltak/EWDwskaznik|EWDwskazniki]] | * [[https://github.com/tzoltak/EWDwskaznik|EWDwskazniki]] | ||
* [[https://github.com/tzoltak/EWDraport|EWDraport]] | * [[https://github.com/tzoltak/EWDraport|EWDraport]] | ||
* [[https://github.com/tzoltak/EWDrspo|EWDrspo]] | * [[https://github.com/tzoltak/EWDrspo|EWDrspo]] | ||
- | * [[https://github.com/zozlak/|ZPD]] | + | * [[https://github.com/zozlak/ZPD|ZPD]] |
- | ====Podłączanie się do repozytoriów na Odrze==== | + | * [[https://github.com/zozlak/ZPDzapis|ZPDzapis]] |
+ | =====Podłączanie się do repozytoriów na Odrze===== | ||
- W RStudio wybierz: <html><span style="color: darkblue; font-family: monospace;">File->New Project...->Version Control->Git</span></html>. | - W RStudio wybierz: <html><span style="color: darkblue; font-family: monospace;">File->New Project...->Version Control->Git</span></html>. | ||
Linia 45: | Linia 51: | ||
Przeczytaj też: [[r_pakiet_howto&#zakladanie_projektu_rstudio_dla_pakietu|Zakładanie projektu RStudio dla pakietu]]. | Przeczytaj też: [[r_pakiet_howto&#zakladanie_projektu_rstudio_dla_pakietu|Zakładanie projektu RStudio dla pakietu]]. | ||
- | ===Istniejące repozytoria:=== | + | ====Istniejące repozytoria:==== |
* [[ewdrepozytoria|skalowanieEgzaminow]] | * [[ewdrepozytoria|skalowanieEgzaminow]] | ||
Linia 53: | Linia 59: | ||
* [[ewdrepozytoria|wskMaturaTrzyletn]] | * [[ewdrepozytoria|wskMaturaTrzyletn]] | ||
* wewd | * wewd | ||
- | ====Używanie Gita z Rstudio==== | + | =====Używanie Gita z Rstudio===== |
[[http://nicercode.github.io/git/rstudio.html]] | [[http://nicercode.github.io/git/rstudio.html]] | ||
- | ===Kilka rzeczy, do których trzeba wywołać konsolę=== | + | ====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):<code>git add .</code> | * 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):<code>git add .</code> | ||
Linia 65: | Linia 71: | ||
git push -f</code> | git push -f</code> | ||
- | ===Wykorzystywanie gałęzi=== | + | ====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 [[http://christianlemp.com/blog/2014/02/13/How-I-Manage-Data-Projects-with-RStudio-and-Git-Part-2.html|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: | ||
- | Trzeba by tu jeszcze coś dopisać o wykorzystywaniu gałęzi (branches). | + | * Zaciągnięcie nowej gałęzi z serwera, kiedy jeszcze nie ma jej na naszym komputerze:<code git> |
+ | git fetch | ||
+ | git checkout [nazwa_zdalnej_gałęzi] | ||
+ | </code> | ||
+ | * Utworzenie nowej gałęzi:<code git> | ||
+ | git checkout -b [nazwa_gałęzi] | ||
+ | </code> | ||
+ | * Pobieranie danych z innego repozytorium (//pull//) **do aktywnej gałęzi**:<code git> | ||
+ | git pull [nazwa_innego_repozytorium] [nazwa_gałęzi_na_innym_repozytorium] | ||
+ | </code> | ||
+ | * Wysyłanie danych **z aktywnej gałęzi** do innego repozytorium (//push//):<code git> | ||
+ | git push [nazwa_innego_repozytorium] [nazwa_gałęzi_na_innym_repozytorium] | ||
+ | </code> | ||
+ | * Połączenia **aktywnej gałęzi z inną gałęzią z tego samego repozytorium** (//merge//):<code git> | ||
+ | git merge --no-ff [nazwa_gałęzi] | ||
+ | </code>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.\\ | ||
- | ====Tworzenie nowego repozytorium (projektu) na Odrze==== | + | 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===== | ||
- Zaloguj się przez ssh na Odrze, na koncie wewd (z użyciem swojego klucza prywatnego). | - Zaloguj się przez ssh na Odrze, na koncie wewd (z użyciem swojego klucza prywatnego). |