2011-07-17 15 views
6

Mam wiele różnych projektów o zamkniętym źródle w oparciu o podobną podstawę kodu i każdego dnia muszę skopiować zmiany i poprawki z jednego do drugiego iz powrotem.Jak zarządzać wieloma podobnymi, ale różnymi projektami za pomocą git?

Jak niektórzy z moich projektów odbiegał zbytnio używać git submodules aw innych nie chcę moich klientów bałagan z submodules iw konsekwencji zajrzeć do pracy nad innymi projektami, które teraz robię z git patch i git apply który jest żmudna praca.

Mam zamiar rozważyć przejście na git pull i git push pomiędzy lokalnymi repozytoriów na moim komputerze w konsekwencji korzystania git cherry-pick i git merge odebrać potrzebne zmiany, ale jeśli istnieje lepszy sposób?

+1

Czy Twoje projekty mają wspólny kod? jeśli tak, możesz mieć trzy repozytoria: core, projectA i projectB. zmiany i poprawki zdarzają się w 'core' i zostają przyciągnięte do projektuA i projektuB. zmiany unikalne dla któregokolwiek projektu zdarzają się w repozytorium projektu – knittl

+0

Czy możesz wyjaśnić, dlaczego nie możesz używać submodułów? – celavek

+0

@knittl nie może tego zrobić, ponieważ muszę kontrolować, która zmiana idzie tam, gdzie ja za nie płacę – sanmai

Odpowiedz

1

Korzystanie z git cherry-pickmoże rób, co chcesz. Mając drugie repozytorium jako zdalne, z którego możesz pobrać, możesz nadal wybrać jeden commit. Nie musisz także tworzyć gałęzi pilota, po prostu pobierz zmiany i wybierz SHA1 zatwierdzenia, które chcesz przenieść. Kiedy naciskasz, nie należy naciskać innych pobranych odniesień, ponieważ nie znajdują się one w twojej obecnej gałęzi, tylko wybrane jest zatwierdzenie.

Powiązane problemy