Skip to content
Karol Kokoszka edited this page May 3, 2013 · 3 revisions

Workflow, czyli styl pracy w naszym wypadku grupowej, jakiego narazie będziemy się trzymać profejsonalnie nazywa się "fork + pull". Co to oznacza i jak to działa postaram się opisać na tej stronie jednakże polecam zapoznać się z tym w razie niejasności bardziej szczegółowo na własną rękę.

Aby dało się cokolwiek robić trzeba mieć konto na github.com. Jeżeli posiadamy konto to wtedy wchodzimy pod adres: JSerialize repo czyli na nasze repozytorium i odszukujemy przycisku fork (trzeba być zalogowanym), który znajduje się gdzieś u góry po prawej stronie. Po kliknieciu fork wyskoczy okienko -> wybieramy siebie. Dla ułatwienia screen z google:


fork button


Co właściwie robi fork? Otóż kopiuje repozytorium w wyniku czego na swoim koncie posiadamy jego kopie na której będziemy pracować.


forked


Jeżeli mamy już kopię na swoim koncie trzeba ustawić sobię do niej dostęp z poziomu naszego komputera a do tego potrzebny będzie klucz SSH, który trzeba dodać samemu we własnych ustawieniach konta na github.com. Poniżej screeny pokazujące mniej więcej gdzie to jest. Jeżeli chodzi i generowanie klucza to każdy powinien sobie już z tym poradzić.


SSH Keys


Jeżeli już mamy zagwarantowany dostęp można pobrać swoje repozytorium na dysk lokalny gdzie lokalnie będziemy nad tym pracować, czyli w konsoli git bash albo cmd albo jak kto ma ustawione:

UWAGA! Usunac stary folder JSerialize jezeli jest w tym samym miejscu

Pozostaje jeszcze dodać repozytorium oryginalne, z którego będziemy pobierać najnowsze zmiany dokonane np. przez innych w teamie, czyli:

UWAGA! Trzeba byc w folderze JSerialize

W dalszej części będzie przykład użycia.

Jak będzie wyglądać codzienna praca? Mając swoje repozytorium lokalnie wprowadzamy zmiany do plików tj. piszemy kod, poprawiamy błędy itp i jeżeli postanowimy, że zmiany w jakimś sensie powinny się znaleźć w głównym repozytorium powinniśmy podjąć następujące kroki:

  1. Uaktualniamy swoje lokalne repo z oryginalnym zdalnym repo wrazie gdyby nasze było notuptodate
  • git fetch JSerialize
  • git merge JSerialize/master
  1. Za'commit'ować lokalne zmiany
  • git commit -a -m "Tresc odnoszaca sie do zmian"
  1. Za'push'ować na swoje zklonowane repozytorium
  • git push
  1. Skorzystać z narzędzia 'pull request' na stronie github.com. Tak więc wchodzimy pod adres głównego repozytorium JSerialize repo. Klikamy pull request i po prawej stronie z rozsuwanej listy wybieramy nasze zforkowane repo (w moim przypadku karolk91/JSerialize). Screen dla przykładu:

Pull request


pull request 2


Clone this wiki locally