Mam zdalne repozytorium, które wyciągnąłem i rozgałęziam się. Chcę, aby nowy oddział był na bieżąco ze zmianami wprowadzonymi w celu opanowania. Zastanawiam się nad przebiegiem pracy, czy ma to jakiś sens, czy są na to lepsze sposoby?Prowadzenie oddziału na bieżąco z mistrzem
Początkowa rozgałęzienie i kasa:
git checkout master git pull git checkout -b my_branch
popracować w
my_branch
, a następnie okresowo:git checkout master git pull git checkout my_branch git merge master --no-ff
Powtórz krok 2 w miarę potrzeb, z okresowymi popycha do zdalny my_branch
.
Potem, gdy gotowy do seryjnej odwrotnej:
git checkout master
git merge my_branch --no-ff
Dźwięk ok?
Dzięki za odpowiedź (i Christoph). Aby odpowiedzieć na twoje pytanie, nie ma powodu dla okresowych popychań innych niż działanie jako kopia zapasowa na wypadek, gdyby moje pudełko zginęło. I na wypadek, gdyby ktoś chciał, aby mój kod wykonywał swoją pracę z ... nie całkiem prawdopodobnym, dopóki mój kod nie wejdzie do mistrza, a zrobienie rebase na publicznej gałęzi może doprowadzić do kłopotów, więc rozumiem (ale nie jestem pewien, dlaczego dokładnie .) – larryq
rebazy są mieczem obosiecznym. z jednej strony często prowadzą do znacznie wyraźniejszej historii. z drugiej strony tworzą całkowicie nowe zatwierdzenia z zasadniczo starymi treściami. Jeśli popchniesz swoje zatwierdzenia, ktoś inny (teoretycznie) może stworzyć własne zmiany w tych zobowiązaniach. Jeśli później zdecydujesz się na ponowną zmianę, które popełnisz, w zasadzie unieważnisz stare zatwierdzenia i wszystkie zmiany na nich oparte. - Nawet jeśli usuniesz swoją starą gałąź, druga może popchnąć swoje zmiany, a zatem także wypchnąć stare zmiany, które spowodują duplikowanie commitów i ponowne wprowadzenie bałaganu. :) – michas
Jeszcze raz bardzo dziękuję. Czytałem o 'git pull --rebase' i nie jestem 100%, co się stanie, jeśli zadzwonię do niego, gdy aktualnie jestem w (powiedzmy)' my_branch'. W tej sytuacji polecenie ściąga ze zdalnego 'my_branch', a następnie rozgrywa na przeciwko ... której gałęzi? Nie jestem mistrzem, który bym zakładał, skoro nie wspomniałem o tym w żadnym miejscu komendy. Tak więc musi to być ponowne porównanie z 'my_branch', co brzmi dla mnie trochę dziwnie, ponieważ zawsze opieram dwie oddzielne gałęzie. Ale zakładam, że to możliwe, a teraz, gdy o tym myślę, dlaczego nie? – larryq