2013-06-10 8 views
5

Jesteśmy w trakcie opracowywania i przygotowania do integracji Git i wdrażamy podobny projekt do poniższego linku.Jak radzić sobie z ciągłymi konfliktami scalania Git z ciągłą integracją

http://nvie.com/posts/a-successful-git-branching-model/

Kwestia prowadzimy na to kiedy popełnić i wcisnąć do „rozwoju” oddział lub ciągłej integracji branży, ponieważ mamy wiele zespołów pracujących na różnych oddziałach, jesteś zobowiązany do napotkasz konflikty scalania ponieważ nigdy byś nie zboczył z "rozwoju" przed pchnięciem. Wydaje się, że nie jest to najlepsza praktyka dla zespołu, który stara się rozwiązać i rozwiązać problem, o którym nie ma zbyt dużo wiedzy.

Jedną z naszych pomysłów była prośba o odłożenie zamówienia w oddziale "rozwijanie" i posiadanie zespołu zajmującego się rozwiązywaniem tych problemów.

Czy są jakieś opcje, których nam brakuje?

Odpowiedz

2

Ideą gałęzi fabularnych jest to, że powinny one zawierać jedynie niewielką, atomową zmianę. Ta zmiana teoretycznie nie powinna powodować konfliktów seryjnych ze względu na swoją naturę.

Jeśli funkcja wprowadza konflikty scalania, byłbym bardziej skłonny zbadać, co uważasz za "funkcję"

Sposób, w jaki doświadczyłem tego, jest taki, że funkcja dotyczy określonego zadania, które (w terminach) powinno trwać nie dłużej niż jeden lub dwa dni.

Biorąc pod uwagę tę krótką skalę, jest mało prawdopodobne, że w trakcie cyklu pojawią się konflikty podczas scalania, ale w przypadku ich wystąpienia, powiedzmy na przykład, gdy wiele zespołów pracuje w tym samym obszarze bazy kodów, wymagany jest poziom komunikacji aby rozwiązać konflikty w prawidłowy sposób.

Istnieją różne modele, które można zastosować, aby pomóc w zarządzaniu konfliktem. Pracujemy nad horyzontalnym modelem krojenia, w którym jeśli wiele zespołów potrzebuje zmiany w określonym obszarze podstawy kodu, to jest ona przypisana do zespołu, którego projekt obejmuje całość tego modułu. Twoja firma może być bardziej zainteresowana pionowym modelem krojenia, w którym to przypadku mniej prawdopodobne jest, że napotkasz konflikty pomiędzy zespołami.

Żadna ilość narzędzi nie może pokonać konwersacji w celu rozwiązania konfliktu. Jeśli wiesz, że zmiany wpłyną na plik, nad którym pracuje ktoś inny, najlepszym modelem do naśladowania jest rozmowa.

W niektórych sytuacjach nie będzie to idealne rozwiązanie, firma może mieć inne pomysły na temat zmian, które się pojawią, ale dopóki każdy deweloper będzie aktualizował swoją branżę, skłonność do konfliktów jest znacznie mniejsza.

0

Jeśli:

  1. zanim każdy Push Pull, a
  2. Użyj pre-tested commit strategy

to nigdy nie będzie problemem. Konflikty scalania zawsze będą miały miejsce na komputerach programistycznych, na których można je ręcznie rozwiązać.

Powiązane problemy