Przepływ pracy Git dla korporacyjnego rozwoju jądra Linux
Pracuję w firmie, która buduje systemy wbudowane z wykorzystaniem Linuksa. Historycznie zawsze używaliśmy CVS do przechowywania naszej pracy z jądrem. Nasze jądra są zbiorem:
Sterowniki dla naszego własnego sprzętuLosowe poprawki dla bitów Linuksa, których używamyNiezastrzeżone sterowniki sprzętoweLosowe yukky hacki do dostosowania Linuksa do naszej aplikacjiJesteśmy na etapie, na którym chcielibyśmy przebudować niektóre z naszych starszych jąder na nowsze wersje, a także naprawić nasz archaiczny obieg pracy CVS na coś opartego na zestawach zmian. Oczywistym wyborem jest git.
Staram się wymyślić sensowny przepływ pracy. Wyeksportowałem nasze repozytorium CVS dla jednego z naszych jąder i mamy kolekcję zestawów zmian na wierzchu odpowiedniego jądra Linusa bazowego. Gdzie mogę się stąd udać?
Chciałbym mieć centralne repozytorium, do którego wszyscy programiści wprowadzają zmiany. Czy można bezpiecznie korzystać z rebase, aby przenieść naszą kolekcję zestawów zmian do nowej podstawowej wersji jądra, a następnie przeprowadzić nasze prace nad nową gałęzią centralną?
Dodatkowe punkty za przepływ pracy, który pozwala nam łatwo oddzielić zmiany, które mogą być odpowiednie dla upstream. Mam dość ciągłego przesuwania zbioru małych (lub maleńkich) ogólnie przydatnych zmian do przodu.