Git - cherry-pick czyli jak wziąć zmianę z commita innego brancha
Stronę tą wyświetlono już: 846 razy
A chciałoby się czasem ukraść jedną małą zmianę z innego branch-a, gdyby tylko istniał jakiś sprytny, żeby nie powiedzieć przebiegły sposób na to. Nie zamartwiaj się albowiem tak się jakoś składa, że istnieje polecenie cherrypick, które do tego służy. Zanim jednak go użyję pozwól, że do wcześniej przerobionych kroków dodam dwa nowe branch-e i (oczywiście) parę commit-ów. W tym celu:
git checkout -b 004_list_of_git_structure_types Switched to a new branch '004_list_of_git_structure_types'
A następnie w pliku style.css na jego końcu dodam:
po czym w pliku index.html po aside:
A teraz commit-uję:
git add style.css git commit -m "add style for ul elements" [004_list_of_git_structure_types caf5a80] add style for ul elements 1 file changed, 9 insertions(+), 1 deletion(-)
I jeszcze raz:
git add index.html git commit -m "add git structures" [004_list_of_git_structure_types f8c401b] add git structures 1 file changed, 7 insertions(+)
I przełączam się z najdzikszą rozkoszą na develop-a:
git checkout develop
teraz utworzę kolejnego branch-a, który będzie potrzebował zmian z poprzedniego:
git checkout -b 005_add_merging_operations_types
Teraz w pliku index.html zaraz po aside dodam:
I jak zwykle zapisuję zmiany:
git add index.html git commit -m "add types of combining branches"
Teraz wiem, że na drugim branch-u mam zmiany, których potrzebuję. Nie chcę tworzyć konfliktów, chcę tylko tych zmian. Przełączam się więc na branch-a 004_list_of_git_structure_types:
git checkout 004_list_of_git_structure_types
a następnie poleceniem log wyświetlam listę commit-ów i znajduję:
commit caf5a80570df1a8a9aedc8f0001d33defc7485a7 Author: authorDate: Sun May 22 14:29:31 2022 +0200 add style for ul elements
Kopiuję id commita: caf5a80570df1a8a9aedc8f0001d33defc7485a7 i czym prędzej przełączam się na mojego branch-a:
git checkout 005_add_merging_operations_types Switched to branch '005_add_merging_operations_types'
I czas na cherry-pick-a:
git cherry-pick caf5a80570df1a8a9aedc8f0001d33defc7485a7 [005_add_merging_operations_types 9d2feaf] add style for ul elements Date: Sun May 22 14:29:31 2022 +0200 1 file changed, 9 insertions(+), 1 deletion(-)