Git

Praca ze stashem

Stash to lokalny stos gdzie możemy sobie schować swoje zmiany, nie zmieniając w żaden sposób commitów. Przydaje się kiedy chcemy schować lokalne zmiany na czas pracy z innymi branchami, lub przenieść zmiany na inny branch.

Praca na branchach

Branch to wskaźnik na commit. HEAD to wskaźnik na aktualny branch (czasem na commit, ale wtedy wiele operacji nie ma sensu i zwraca błąd "detached head").

Unikaj git checkout – to polecenie zajmuje się dwoma różnymi rzeczami i zostało zastąpione dwoma czytelniejszymi: git switch, git restore.

Merge Requests i code review

Szczegóły zależą od zespołu ale zazwyczaj wygląda to następująco. Każdy pracuje na swoim branchu i forki po prostu nie występują. Branche odpowiadają taskom, poza master/main (który dla gita niczym się nie różni od innych).

Zatem zazwyczaj nie potrzeba robić żadnych merge ani rebase, GitLab sam to spróbuje automatycznie zrobić po akceptacji MR.

Git merge

Czasem jednak trzeba samemu złączyć dwie wersje zmian i są na to dwa sposoby.

Git rebase

Alternatywą jest rebase, który przerabia wszystkie commity w obecnym branchu, odtwarzając zmiany z innego punktu startowego.