git checkout ach te internety

git checkout, jakiego nie znasz

Ajajaj, rzuciłam na pewniaka “nie znasz!”. A być może znasz, być może nie. Chodzi w skrócie o to, że mam dla Ciebie dwie proste, aczkolwiek bardzo praktyczne sztuczki, do których jest zdolny stary, nudny git checkout. Przyznaję, ja nie byłam ich świadoma przez bardzo długi czas. Więc być może oświecę tym wpisem choć jedną osobę.

#1 W tyyył zwrot!

A więc misja brzmi następująco: POWRÓT DO POPRZEDNIEGO BRANCHA.

Przykład: Jesteś na masterze, potem na lecisz na swojego feature-brancha my-super-cool-branch, ale chcesz wrócić z powrotem do mastera. Zazwyczaj napisałbyś po prostu git checkout master. Od dzisiaj już nigdy więcej tego nie zrobisz.

Powrót do poprzedniej gałęzi najszybciej osiągnąć komendą:

git checkout -

W naszym przykładzie, będąc na my-super-cool-branch, powyższa komenda przeniosłaby nas do gałęzi master. Jeszcze raz użyta przeniosłaby nas z powrotem do my-super-cool-branch. Ostatecznie pozwala na szybkie przełączanie się pomiędzy dwoma gałęziami.

#2 Złapać 5 srok za ogon.

Kolejne wyzwanie to WYSTRZELENIE NOWEJ GAŁĘZI “C” Z GAŁĘZI “B” SIEDZĄC NA GAŁĘZI “A”.

Uffff. Rozumiesz coś z tego?

W moim ostatnim projekcie miałam taką zasadę: każdy task to osobny, odpowiednio nazwany branch. Było to spoko z punktu widzenia PMa i porządku w jirze. Jednak często gęsto taski były tak bardzo drobiazgowe, że nielogiczne wydawało się dla mnie dzielenie niektórych funkcjonalności na 2 osobne branche. W konsekwencji, nawet niechcący robiłam dodatkowe zmiany na branchu, który totalnie nie powinien ich zawierać. Też tak masz?

Przykład: Jesteś na swoim branchu add-product-branch. Przy okazji narobiłeś na nim sporo zmian niezwiązanych z funkcjonalnością dodawania produktów (powiedzmy do koszyka). W takiej sytuacji przychodzi nam z pomocą pewna komenda, która pozwala na szybkie wystrzelenie nowej gałęzi (powiedzmy remove-product-branch) z mastera, kiedy aktualnie siedzimy sobie wygodnie na add-product-branch.

git checkout -b <branch-name> <start-point>

<branch-name> nie trzeba chyba wyjaśniać, to nasz remove-product-branch ofkors

<start-point> z kolei to nazwa źródłowego brancha (np. master) albo id commita albo tag


To jak, przyznać się, kto znał te sztuczki, a kto nie?

Źródło: dzhavat.github.io, dokumentacja.

Artykuły, które mogą Ci się spodobać...

Wpisz hasło, którego szukasz i naciśnij ENTER, aby je wyszukać. Naciśnij ESC, aby anulować.

Dawaj na górę