馃悪

Wprowadzenie do komend Git

Aug 22, 2024

Notatki z vloga o Git

Wprowadzenie

  • Tematy om贸wione:
    • git commit --amend
    • git rebase
  • Cel: Zrozumienie dzia艂ania tych komend i ich zastosowania.

git commit --amend

Definicja

  • Umo偶liwia poprawienie ostatniego commitu.
  • Komenda ta 艂膮czy zmiany z ostatniego commitu z nowymi zmianami.

Jak dzia艂a

  • Komendy s膮 niemutowalne.
  • Zast膮pienie ostatniego commitu nowym:
    • Stary commit usuwany, nowy commit tworzony z nowym hashem.
  • Mo偶liwo艣膰 zmiany nazwy commitu przy u偶yciu git commit --amend.

Przyk艂ad u偶ycia

  1. Stworzenie commitu z nazw膮 "Add content to homepage".
  2. U偶ycie git commit --amend, aby doda膰 zmiany i zmieni膰 nazw臋 na "Add content to homepage and contact page".
  3. U偶ycie flagi --no-edit, aby doda膰 zmiany bez zmiany nazwy.

git rebase

Definicja

  • Przebazowanie brancha w celu zmiany historii commit贸w.

Por贸wnanie z git merge

  • git merge:
    • Tworzy nowy commit (merge commit).
    • Mo偶e wprowadzi膰 konflikty.
  • git rebase:
    • Tworzy now膮 histori臋 commit贸w bez merge commit贸w.
    • Zmienia histori臋, wi臋c trzeba by膰 ostro偶nym, szczeg贸lnie w przypadku wsp贸艂pracy z innymi.

Jak dzia艂a git rebase

  • Przenosi histori臋 commit贸w z brancha na now膮 podstaw臋 (np. z main).
  1. Kopiuje ka偶dy commit z brancha i tworzy nowy commit z nowym hashem.
  2. Zmienia rodzica commit贸w na nowy commit z main.
  3. Mo偶e wyst膮pi膰 wiele konflikt贸w, kt贸re trzeba rozwi膮za膰 jeden po drugim.

Przyk艂ad u偶ycia

  • Zmiany wprowadzone w branchu "Contact Page Redesign".
  • Wykonanie git rebase main, aby sprowadzi膰 zmiany z brancha main do Contact Page Redesign.

Bezpiecze艅stwo pracy z histori膮 commit贸w

  • Zasada: Je艣li pracujesz sam na branchu, mo偶esz zmienia膰 histori臋.
  • Je艣li pracujesz w zespole, unikaj zmian w historii, o ile to mo偶liwe.
  • Nale偶y informowa膰 wsp贸艂pracownik贸w o operacjach rebase.

Wysy艂anie zmian do zdalnego repozytorium

  • Po rebase i amend wyst膮pi膮 r贸偶nice w historii lokalnej i zdalnej.
  • U偶ycie git push --force do nadpisania zdalnej historii.
    • Mo偶e prowadzi膰 do problem贸w, je艣li wsp贸艂pracownicy pracowali na tej samej historii.
    • force with lease jako alternatywa dla bezpieczniejszego nadpisywania.

Podsumowanie

  • W kolejnych odcinkach: Cofanie zmian w Gicie.