Aktywne Wpisy
szklarskaporeba +586
#korposwiat #pracbaza #big4 Młode roczniki są bardzo śmieszne. Dzisiaj '99 podszedl na open space do managera i powiedział ze albo pierwsze dwa tygodnia listopada będzie mieć wolne a potem home working do końca roku albo jutro rzuca wypowiedzenie xD. Pulsujących zawołam jutro z rozwinięciem sytuacji.
juzwos +751
mam brancha master i feature:
|
|
|\
| \
| |
| f
m
w pmomencie m weszła do mastera poprawka na coś co znacznie ułatwi mi pracę i chciałbym sobie domerge'ować zmiany z mastera do feature master ma być nietknięty. A i mam nie używać rebase.
czy mój pomysł :
git checkout feature
git merge master
nie dotknie mastera?
#programowanie #git
Zresztą, zrób sobie test na githubie. Będziesz miał przynajmniej czyste sumienie.
Opcja 1:
git checkout feature
– przełączasz się do brancha featuregit merge master
– przenosisz wszystkie commity z mastera do feature, których feature nie posiada i na wierzch ląduje commit miksujący Twoje dotychczasowe zmiany z feature i „nowe” zmiany masteroweOpcja 2:
git checkout feature
– przełączasz się do brancha featuregit cherry-pick COMMIT_Z_MASTERA
– wciągasz do feature'a wybranego commita z mastera (możesz tak dorzucić ich kilka)Opcja 3:
git rebase master
- przenosisz wszystkie zmiany z mastera na feature branch pod komity z feature, bez dodatkowego merge commita. Zachowujesz ładną, liniową historię.@LOLWTF:
@d__k: z ciekawości, czemu masz nie używać rebase?
@LOLWTF: ostatnio jak próbowałem rebase to rozeiązywanie konfliktów powodowało nowe :/
Komentarz usunięty przez autora
@Almagest: Czemu?
@d__k Kiedy robisz
git rebase master
na branchufeature
, to:1. git tymczasowo „usuwa” Twoje commity z
feature
2. Wstawia wszystkie commity w takiej kolejności jak na
master
3. Po kolei nakłada na „świeżą” listę Twoje commity z
feature
.Załóżmy, że na
feature
@MacDada: Commit przeniesiony na feature z mastera przez cherry-pick dostanie inny hash, nie licząc idealnej sytuacji, gdy na feature nie ma jeszcze żadnych commitów, a ten przenoszony commit jest pierwszym, który się pojawił na masterze od momentu rozgałęzienia. Gdyby @d__k próbowałby potem dokonać merge feature w mastera, to ten cherry-pickowany commit znalazłby się w historii dwukrotnie, do tego wszedłby w konflikt ze swoją kopią. Chyba nie mylę się