Niedawno miałem question answered o konfiguracji konfiguracji wielu komputerów git, a rozwiązanie, które tam dostałem, rozwiązało moją sytuację z gałęzią master
, ale nie z oddziałami bocznymi opartymi na systemie głównym.synchronizacja git z rebased branches
Oto moja obecna konfiguracja:
A--B--C--D master
\
E--F--G--H BUG_37
BUG_37
jest dziedziną, która rozwija się poprawkę do opcjonalnego śledzona bug na żądanie funkcji w systemie, a ostatecznie zostaną dołączone do linii głównej, ale jest oddzielny na razie. Z repozytorium w tym stanie, jeden jedna maszyna, zrobiłem kilka zmian w master
Branża:
A--B--C--D--I--J--K master
\
E--F--G--H BUG_37
Potem rebased się BUG_37
oddział na master
, aby upewnić się, że działa jako akcesorium do najbardziej aktualnych zmianach:
A--B--C--D--I--J--K master
\
E1--F1--G1--H1 BUG_37
Załóżmy, że w rebase było kilka konfliktów, które trzeba było ręcznie naprawić, zanim baza była ostateczna. Jeśli popchnę te zmiany do zdalnego repozytorium, a teraz chcę przenieść zmiany na inny system programistyczny, który wciąż ma pierwotną konfigurację, jaki jest najlepszy sposób na to? git pull --rebase
uruchomi ponownie bazę danych, a ja będę musiał ręcznie przejść przez konflikty, które przeszedłem po raz pierwszy, prawda? I jeśli popełnię drobny błąd, ponownie przechodząc przez konflikty, tak, że E1-H1 będą nieco inne w tym nowym systemie, to jeszcze bardziej zsynchronizuję repozytorium.
Jak zrobić lokalne repozytorium w oryginalnym stanie i zdalnym repozytorium w trzecim stanie, a lokalne repozytorium zostać zaktualizowane tak, aby dokładnie pasowało do zdalnego repozytorium (usuwanie zmian EH i przenoszenie HEAD z BUG_37
na nowe Lokalizacja)?