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

Your email address will not be published.


*