środa, 23 kwietnia 2014

Github i odświeżenie własnego forka


  To będzie przykład z życia ;) Utworzyłem sobie konto na github i zrobiłem własny fork kodu źródłowego Cobbler-a. Moim celem było wprowadzenie zmian opisanych w ostatnim poście do oficjalnego projektu.

  Po kilku dniach przyszła pora na kolejny zestaw kilku poprawek. Dosyć popularną zasadą w projektach open source jest to, że patche najlepiej podsyłać do bieżącej wersji kodu źródłowego (chyba że poprawiamy błąd w jakimś starym wydaniu). Pojawił się też problem - w jaki sposób odświeżyć mój fork projektu na githubie, tak by nałożyć zmiany na najnowszą wersje? Niestety w interfejsie github-a się tego nie doszukamy :/



1. Klonujemy naszego forka, np:

$ git clone https://github.com/adrb/cobbler.git

2. Mija kilka dni i chcemy pociągnąć zmiany z głównego repozytorium, definiujemy więc zdalne źródło o nazwie cobbler_upstream, podając jeszcze odpowiedni adres http.

$ git remote add cobbler_upstream  https://github.com/cobbler/cobbler.git
$ git remote -v

3. Przełączamy się na naszą lokalną gałąź (np: master)

$ git checkout master

4. Ciągniemy zmiany z głównego repozytorium (które zdefiniowaliśmy jako cobbler_upstream) z gałęzi master

$ git pull cobbler_upstream master

5. Wypychamy zmiany do naszego lokalnego fork-u na github-ie

$ git push -u

6. Tworzymy nową gałąź, wprowadzamy zmiany, wypychamy gałąź do naszego forka, tworzymy "pull request"