Jak zrobić pull request na GitHub?
Jak zrobić pull request na GitHub?
Pull Request to metoda scalania gałęzi w gicie. Na tej zasadzie rozwijane są różne projekty w tym projekty typu open source. Programista tworzy własnego brancha gdzie wprowadza swoje zmiany i wysyła je do repozytorium – robi tzw. PR (z ang. pull request). Zmiany te są testowane przez mechanizm CI (z ang. continuous integration) a następnie trafiają przed scaleniem do głównego brancha do weryfikacji (z ang. review) przez administratora repozytorium dostarczając również informacje o potencjalnych konfliktach. Na końcu procesu zmiany są scalane z główną gałęzią projektu. Proces ten przedstawia się następująco:
[źródło] http://confluence.atlassian.com/bitbucket/pull-requests-and-code-review-223220593.html
To jak zrobić pull request na GitHubie zależy od tego czy jesteśmy współtwórcami danego repozytorium czy też zamierzamy tylko dodać coś od siebie do projektu. W pierwszym przypadku należy sklonować repozytorium, zrobić lokalnego brancha, wprowadzić swoje zmiany do kodu a następnie całość wysłać na zdalne repozytorium i zrobić z poziomu interfejsu graficznego GitHuba pull request. W drugim z kolei przypadku kiedy nie mamy uprawnień do repozytorium należy użyć polecenia fork z poziomu interfejsu graficznego na GitHubie które utworzy dla nas kopię repozytorium na naszym koncie na GitHubie. Po krótkim wstępie teoretycznym czas na praktykę!
Adres repozytorium z przykładami dla witryny https://javaleader.pl/ to http://github.com/mwarycha/JavaLeader.pl.
-
pull request – współtwórca repozytorium:
$ git push origin task Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 233 bytes | 58.00 KiB/s, done. Total 2 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. remote: remote: Create a pull request for 'task' on GitHub by visiting: remote: http://github.com/mwarycha/JavaLeader.pl/pull/new/task remote: To http://github.com/mwarycha/JavaLeader.pl.git * [new branch] task -> task
nowo utworzony branch został wysłany na repozytorium, GIT podpowiada żeby zrobić pull request – czyli scalić zmiany z nowego brancha z główną gałęzią produkcyjną master.
Wybór branchy do porównania zmian:
Otworzenie pull requesta:
Nowy pull request został prawidłowo utworzony:
Jeśli zmiany są prawidłowo wykonane pull request może zostać zatwierdzony w przeciwnym wypadku można zlecić poprawki:
Zatwierdzenie pull requesta:
-
pull request – fork:
prawidłowo zrobiony fork:
Dodanie przykładowego pliku:
Zrobienie pull requesta:
Prawidłowo zrobiony pull request:
Odrzucenie pull requesta:
Poprawki wprowadzone po review pull requesta:
Zatwierdzenie pull request po poprawkach:
Leave a comment