Working with Git - marcinogo/robot GitHub Wiki

Zasady pracy z Gitem, recenzowania kodu, konwencje pisania testów, struktura i działanie Jenkins CI

Zanim stworzymy migawkę…​

Obowiązkowo należy zainstalować odpowiednie haki gitowe. Na gałęzi "develop" w repozytorium znajduje się folder git-hooks, w którym znajduje się skrypt "add-hooks". Odpalamy go, pamiętając o uprawnieniach:

chmod +x add-hooks ./add-hooks

Zainstalowane haki sprawiają, że podczas próby tworzenia migawki projekt zostanie próbnie zbudowany. Jeśli budowa nie przejdzie nie będziemy mogli jej stworzyć.

Zasady tworzenia migawek

  1. Tytuł migawki - zaczynamy z DUŻEJ litery, forma imperatywna, opis migawki w 1 krótkim zdaniu (NR SPRINTU, NR ZADANIA, co dodaje, co naprawia, usuwa itd) - max 50 znaków

  2. Pod tytułem spacja

  3. Potem ciało migawki (lista zaimplementowanych rzeczy) max 72 znaków w jednej linii

  4. Potem szczegóły implementacji, konkrety itp…​

Polecam używać edytora tekstu do pisania migawek, możecie go ustawić następująco jak rzecze dokumentacja gita:

“Najprostszy sposób zatwierdzenia zmian to wpisanie git commit:

$ git commit

Zostanie uruchomiony wybrany przez ciebie edytor tekstu. (Wybiera się go za pośrednictwem zmiennej środowiskową $EDITOR — zazwyczaj jest to vim lub emacs, możesz jednak wybrać własną aplikację używając polecenia git config --global core.editor, które poznałeś w Rozdziale 1.). Edytor zostanie otwarty z następującym tekstem (poniższy przykład pokazuje ekran Vima):

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   README
#       modified:   benchmarks.rb
~
~
~
".git/COMMIT_EDITMSG" 10L, 283C

Jak widzisz, domyślny opis zmian zawiera aktualny wynik polecenia git status w postaci komentarza oraz jedną pustą linię na samej górze. Możesz usunąć komentarze i wpisać własny opis, lub pozostawić je, co pomoże zapamiętać zakres zatwierdzonych zmian. (Aby uzyskać jeszcze precyzyjniejsze przypomnienie, możesz przekazać do git commit parametr -v. Jeśli to zrobisz, do komentarza trafią również poszczególne zmodyfikowane wiersze, pokazując, co dokładnie zrobiłeś.). Po opuszczeniu edytora, Git stworzy nową migawkę opatrzoną twoim opisem zmian (uprzednio usuwając z niego komentarze i podsumowanie zmian).”

Przykład dobrej migawki:

git commit -m "Sprint#4, Task#7, add javadocs and tests for BoardUpdater class

- add javadoc for BoardUpdater class with links
- do general cleanup of a class
- remove unused variables, methods and imports
- add BoardUpdater test class
- add test_updateBoard happy path
- add some todos and mark issues"

Po wypchnięciu migawki link do niej ląduje w komentarzu pod wybranym zadaniem na tablicy, wraz z wszelkimi ważnymi informacjami jej dotyczącymi!

Migawka, która jest tytułem podczas Pull Request’a ma mieć nazwę “Closes: #numer_zadania”, żeby zadanie na Githubie od razu zostało zamknięte.

Nazewnictwo gałęzi

Odbijamy się od deva!

Gałąź do nowego zadania nazywamy: “numer_zadania#nazwa_zadania”. Przed “pull request’em” scalamy lokalnego aktualnego deva do swojej gałęzi i rozwiązujemy wszelkie konflikty, tak aby scalenie do zdalnej gałęzi “dev” był bezproblemowy. Po scaleniu do zdalnego “dev” usuwamy gałązkę.

Struktura repozytorium

Struktura Git
⚠️ **GitHub.com Fallback** ⚠️