Problem: Chcecie przetestować cechą ktoś rozwinął, ale to tylko istnieje w odległym oddziale, który jest niezmiernie nieaktualne.git - cherry-pick - HOWTO/WHYTO
- Jak cherry-pick rozwiązać ten problem?
- Dlaczego nie będę używał git am lub git?
Problem: Chcecie przetestować cechą ktoś rozwinął, ale to tylko istnieje w odległym oddziale, który jest niezmiernie nieaktualne.git - cherry-pick - HOWTO/WHYTO
Problem: Chcecie przetestować cechą ktoś rozwinął, ale to tylko istnieje w odległym oddziale, który jest niezmiernie nieaktualne.
Po scaleniu lub ponownym uruchomieniu uzyskasz kilka starych zmian, które mogą być w konflikcie.
W przypadku zbioru wiśni przyjmuje się jeden zestaw zmian i odtwarza się go jako nowe zatwierdzenie w innej gałęzi.
Jest to przydatne, jeśli chcesz po prostu zatwierdzić do innego oddziału, bez jego historii.
Przydaje się użycie opcji -x
, więc komunikat zatwierdzenia zawiera notatkę, z której wybrano wiśnia.
Dlaczego nie będę używał git am lub git?
ponieważ git stosuje się do nakładania łatek (plików) i git am do nakładania serii łatek. git cherry-pick stosuje zatwierdzenia - tzn. zatwierdza z twojego własnego repo, a zatwierdza import z innych repo.
git-cherry-pick - Zastosuj zmiany wprowadzone przez jakiegoś istniejącego zobowiązuje
[...]
Biorąc pod uwagę jeden lub więcej istniejących zobowiązuje, zastosować zmień każdy z nich, wprowadzając, nagrywając nowe zatwierdzenie dla każdego. Wymaga to wyczyszczenia drzewa roboczego (bez modyfikacji z zatwierdzenia HEAD).
Więc, kiedy cherry-pick
commit, git
zatrzymuje popełnić zmienia (ITS diff
) i stara się stosować go w bieżącym katalogu roboczym, tworząc nowy popełnić który jest odpowiednikiem jednego jesteś cherry-pick
ing.
Jest to sposób ponownego wprowadzenia zmian w innym zatwierdzeniu na innej linii historii.
Poza zmianami, cherry-pick
zachowuje również oryginalne informacje o zatwierdzeniu, takie jak autor i tamto.
Wreszcie, cherry-pick
może otrzymać grupę zatwierdzeń do złożenia wniosku, w którym to przypadku zachowa się tak jak cherry-pick
je po kolei, w porządku chronologicznym (starsze pierwsze).
Problem:
Chcesz przetestować cechą ktoś rozwinął, ale istnieje tylko w odległym oddziale, który jest niezmiernie nieaktualne.
To rozwiązuje problem, ponieważ:
Ostatni punkt jest ważny, ponieważ pierwszy wadą cherry-picking jest to, że wprowadza duplicate commits. Ale w twoim przypadku to nie ma znaczenia.
Inną wadą jest to, że zatwierdzenie, które wybierasz, może mieć wartość functional dependencies w oparciu o poprzednie zatwierdzenia (tego starego oddziału).
Innymi słowy, jego kod działa tylko z powodu innych kodów innych starszych commitów (które nie zostały wybrane przez wiarę).
To może być trudniejsze do wykrycia.